psql 窗口函数

函数 返回类型 描述
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必须是相同类型)。 offset和default都是根据当前行计算的结果。如果忽略它们,则offset默认是1,default默认是空值
lead(value anyelement [, offset integer [, default anyelement ]]) 和value类型相同 返回value,它在分区内当前行的之后offset个位置的行上计算;如果没有这样的行,返回default替代。(作为value必须是相同类型)。offset和default都是根据当前行计算的结果。如果忽略它们,则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;没有这样的行则返回空值

参考文献:
http://www.postgres.cn/docs/10/functions-window.html

你可能感兴趣的:(SQL)