SQL -窗口函数
聚合函数-滑动窗口
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() | 不重复排序 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 云间晚晚!
