首页 > 其他 > 详细

postgres —— 窗口函数入门

时间:2019-12-18 01:09:20      阅读:119      评论:0      收藏:0      [点我收藏+]

 

注:测试数据在 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;

  

排序

 

组合当前行与 按年份排序后, 到当前行为止 的 最小 production

SELECT country, year, production, 
min(production) over (partition by country order by year)
from t_oil
where year between 1978 and 1983
and country in (‘Iran‘, ‘Oman‘)

  

技术分享图片

 注:可以看到,随着行数增加,最小值一直在改变。比如,到第5行为止时,最小值为 1321。

 

 

 

233

 

postgres —— 窗口函数入门

原文:https://www.cnblogs.com/lemos/p/12057611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!