PG中的窗口函数

PG中的窗口函数

窗口函数提供在与当前查询行相关的行集合上执行计算的能力。

通用窗口函数

函数返回类型描述
row_number()bigint当前行在其分区中的行号,从1计
rank()bigint带间隙的当前行排名;与该行的第一个同等行的row_number相同
dense_rank()bigint不带间隙的当前行排名;
percent_rank()double precision当前行的相对排名:(rank-1)/(总行数-1)
cume_dist()double precision累计分布:(在当前行之前或者平级的分区行数)/分区行总数
ntile(num_buckets integer)integer从1到参数值的整数范围,尽可能等分分区
lag(*value* anyelement [, *offset* integer [, *default* anyelement ]])和*value*的类型相同返回*value,它在分区内当前行的之前offset个位置的行上计算;如果没有这样的行,返回default替代(必须和value类型相同)。offsetdefault都是根据当前行计算的结果。如果忽略它们,则offset默认是1,default*默认是空值
lead(*value* anyelement [, *offset* integer [, *default* anyelement ]])和*value*类型相同返回*value,它在分区内当前行的之后offset个位置的行上计算;如果没有这样的行,返回default替代(必须和value类型相同)。offsetdefault都是根据当前行计算的结果。如果忽略它们,则offset默认是1,default*默认是空值
first_value(*value* any)same type as *value*返回在窗口帧中第一行上计算的*value*
last_value(*value* any)和*value*类型相同返回在窗口帧中最后一行上计算的*value*
nth_value(*value* any, *nth* integer)和*value*类型相同返回在窗口帧中第*nth行(行从1计数)上计算的value*;没有这样的行则返回空值
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值