窗口函数

1.专用窗口函数

RANK()OVER(PARTITION BY 分类列名 ORDER BY 排序列名)
DENSE_RANK()OVER(PARTITION BY 分类列名 ORDER BY 排序列名)
ROW_NUMBER()OVER(PARTITION BY 分类列名 ORDER BY 排序列名)
无分类排序时,“PARTITION BY 分类列名” 可省略

计算排序时,如存在相同位次,

RANK:1,1,1,4;

DENSE_RANK:1,1,1,2;

ROW_NUMBER:1,2,3,4。

2.聚合窗口函数

SUM(求和列)OVER(ORDER BY 排序列 ) --按照排序计算累计值
AVG(求均值列)OVER(ORDER BY 排序列 ) --按照排序计算累计至当前均值
AVG(求均值列)OVER(ORDER BY 排序列 ROWS  n PRECEDING )  
--按照排序计算靠近的前n(包括自身)行均值,称为移动平均(用FOLLOWING替换PRECEDING即为后n行)

 

posted @ 2022-12-02 17:44  孤注  阅读(54)  评论(0)    收藏  举报