窗口函数
1.排序
1.1 row_number() over()
不区分相同的值,1-n
1.2 rank() over()
相同的值排名也相同(1,2,2,4 ...)
1.3 dense_rank() over()
排名相同且连续(1,2,2,3....)
1.4 ntile(n) over()
分桶,将所有数据分为n桶(1,1,2,2,3,3,4.....)
2.向前向后函数 lag() 和lead()函数
相当于对表进行自连接,用于①连续出现的数字,②需要向前/向后偏移一天的情景
lag(m,n,null) 和lead(m,n,null) 有三个参数,m列名(需要被偏移的字段),n是偏移的offset(偏移量),第三个参数是超出记录窗口时的默认值(可以设置为0,默认为null)。
lag(expression,offset,default_value) OVER ( --lag是取前一天的数据
PARTITION BY expr,...
ORDER BY expr [ASC|DESC],...
)

浙公网安备 33010602011771号