postgres —— 窗口函数入门

Posted lemos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgres —— 窗口函数入门相关的知识,希望对你有一定的参考价值。

 

注:测试数据在 postgres —— 分组集与部分聚集 中

 

聚集将多行转变成较少、聚集的行。而窗口则不同,它把当前行与分组中的所有行对比,并且返回的行数没有变化。

 

组合当前行与 production 的均值

SELECT country, year, production,comsumption, 
avg(production) over() 
from t_oil;

  

分组

 

组合当前行与 按年份分组后,当前行所在分组的 production 的均值

SELECT country, year, production,comsumption, 
avg(production) over(partition by year) 
from t_oil;

  

组合当前行与 按年份>2000 分组后,当前行所在分组的 production 的均值

 

SELECT country, year, production,comsumption, 
avg(production) over(partition by year > 2000) 
from t_oil;

  

排序

 

 

 

 

233

 

以上是关于postgres —— 窗口函数入门的主要内容,如果未能解决你的问题,请参考以下文章

使用具有不同 order by 子句的 postgres 窗口函数

如何在 Postgres 的窗口函数中获取 mode()?

如何在带有 Postgres 的动态框架中使用窗口函数中的列值?

自定义窗口函数忽略 Postgres 中的空值

具有等级的postgres窗口函数

Postgres - 如何对窗口函数列的每 x 行求和?