sum/avg/max/min/row_number/first_value/last_value+窗口函数 总共有四种用法 注意是整体聚合 还是累积聚合
–sum/avg/max/min/row_number/first_value/last_value(…) over( ) -------对表所有行operator
–sum/avg/max/min/row_number/first_value/last_value(…) over( order by … ) ---- 连续累积operator
–sum/avg/max/min/row_number/first_value/last_value(…) over( partition by… ) ---- 同组内所行operator
–sum/avg/max/min/row_number/first_value/last_value(…) over( partition by… order by … ) ----在每个分组内,连续累积operator
Window expression窗口表达式给我们提供了一种控制行范围的能力,比如向前2行,向后3行。
语法如下:
关键字是rows between,包括下面这几个选项
- preceding:往前
- following:往后
- current row:当前行
- unbounded:边界
- unbounded preceding 表示从前面的起点
- unbounded following:表示到后面的终点
The OVER clause supports the following functions, but it does not support a window with them
Rank, NTile, DenseRank, CumeDist, PercentRank.Lead and La