PostgreSQL的window函数整理(4)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:42 点击:
  5 | 1 |  19
 11 | 3 |  93
 12 | 3 |  93
 16 | 3 |  93
 16 | 3 |  93
 16 | 3 |  93
 22 | 3 |  93
(13 rows)
 
官网中的解释是: By default, if ORDER BY is supplied then the frame consists of all rows from the start of the partition up through the current row, plus any following rows that are equal to the current row according to the ORDER BY clause. When ORDER BY is omitted the default frame consists of all rows in the partition. 
 默认情况下,带了order by 参数会从分组的起始值开始一直叠加,直到当前值为止,当忽略order by 参数则会计算分组中所有值的和。 
 
4.其他的窗口函数 
row_number(): 从当前开始,不间断,如1,2,3,4,5,6 
rank() :从当前开始,会间断,如1,2,2,4,5,6 
dense_rank():从当前开始不间断,但会重复,如1,2,2,3,4,5 
percent_rank():从当前开始,计算在分组中的比例,如0,0.25,0.25,0.75,1,0,1 从0-1不断地循环   www.2cto.com  
cume_dist():当前行的排序除以分组的数量,如分组有4行,则值为0.25,0.5,0.75,1 
ntile(num_buckets integer):从1到当前值,除以分组的的数量,尽可能使分布平均 
lag(value any [, offset integer [, default any ]]):偏移量函数,取滞后值,如lag(column_name,2,0)表示字段偏移量为2,没有则用default值代替,这里是0,不写默认是null 
 
lead(value any [, offset integer [, default any ]]):偏移量函数,取提前值,类上 first_value(value any):返回窗口框架中的第一个值 
last_value(value any):返回窗口框架中的最后一个值 
nth_value(value any, nth integer):返回窗口框架中的指定值,如nth_value(salary,2),则表示返回字段salary的第二个窗口函数值 
 
 5.其他窗口函数示例
postgres=# select row_number() over (partition by depname order by salary desc),* from empsalary;
 row_number |  depname  | empno | salary | enroll_date 
------------+-----------+-------+--------+-------------
          1 | develop   |     8 |   6000 | 2006-10-01
          2 | develop   |    10 |   5200 | 2007-08-01
          3 | develop   |    11 |   5200 | 2007-08-15
          4 | develop   |     9 |   4500 | 2008-01-01
          5 | develop   |     7 |   4200 | 2008-01-01
          1 | personnel |     2 |   3900 | 2006-12-23
          2 | personnel |     5 |   3500 | 2007-12-10
          1 | sales     |     6 |   5500 | 2007-01-02
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Request.ServerVariables 参数大全
  • 查看sql修改痕迹(SQL Change Tracking on Table)
  • 写给MongoDB开发者的50条建议Tip1
  • Percolator与分布式事务思考(二)
  • App数据层设计及云存储使用指南
  • PostgreSQL启动过程中的那些事三:加载GUC参数
  • SQL Server、Oracle、db2所提供的简装版(Express)比较
  • PostgreSQL 安装问题
  • 【自主研发-贡献给SQL Server人员】索引诊断与优化软件使用说明
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1