聚合函数-滑动窗口

1
function(属性)over(partition by 属性 order by 属性 [frame])

选择聚合函数-根据什么分组-根据什么排序-滑动窗口范围

滑动范围:

rows/range between unbounded and current row (有order by时默认)

rows/range between unbounded preceding and unbounded following(无order by 时默认)

滑动范围 表达
开始行 unbounded preceding
[]中整数,往前推[]行 [] preceding
当前行 current row
[]中整数,往后推[]行 [] following
结束行 unbounded following

前后函数求环比

lead([],n) 返回当前行的后n行

lag([],n) 返回当前行的前n行

求前百分之..数据

函数
precent_rank() 求百分位函数:分组内当前行rank-1/分组内总行数-1
cume_dist() 小于等于当前值的行数/分组内总行数
row_number() 不重复排序