1.LEAD & LAG
分析函数,用于访问当前行给定偏移量的记录。
语法:
LEAD(expre 1,offset,default) OVER(PARTITION BY expre2 ORDER BY expre2)
LAG(expre 1,offset,default) OVER(PARTITION BY expre2 ORDER BY expre2)
expre 1指明了访问的字段,offset指明了偏移的行数,默认为1,default指明了指定偏移的行不存在时的返回值,默认为null。
ORDER BY 字句必须,PARTITION BY可选.
LEAD向后(下)偏移
LAG向前(上)偏移
2. ROW_NUMBER, RANK & DENSE_RANK
三个函数都根据排序条件,为每一行分配一个代表起等次的整数。
ROW_NUMGER 分析函数, 为每个分组分配变化的序号
ROW_NUMBER OVER(PARTITION BY expr1 ORDER BY expr2)
RANK & DENSE_RANK 聚合/分析函数,为每个等级的组分配一个代表起等次的整数。
不同点在于,RANK对于并列的等次,后续要跳过中间等次,如1,2,2,4。
DENSE_RANK则不会,如1,2,2,3。
聚合函数语法
RANK/DENSE_RANK(expr1,expr2...) WITHIN GROUP
(ORDER BY expr1,expr2...)
排序语句中指明了排序的原则,参数中给出的值则表示该组合在什么等次。
分析函数语法
RANK/DENSE_RANK() OVER(PARTITION BY expr1 ORDER BY expr2...)
:END
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21402791/viewspace-663781/
,如需转载,请注明出处,否则将追究法律责任。