本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql
窗口函数概念和使用
窗口函数也称为OLAP函数。
<窗口函数> OVER(PARTITION BY col_name ORDER BY col_name)
其语法规则如上,partition by用来在窗口分组,效果类似group by,而order by则进行窗口的排序。
窗口函数种类
比较常见的窗口函数,如求和,最大值,最小值等聚合函数,排序使用的rank等排序函数。
前者已经算是老生常谈,在分组的前提下可以求出特定粒度的数据,后者则氛围三种:rank的排序支持同一序列号,但会默认占位;dense_rank同样支持同一序号,却默认不占位;row_number不支持同一序号,默认连续排位。
在窗口函数使用的时候,我们还可以计算的累计到当前行的所有数据的集合,而汇总的范围则称为框架。
PRECEDING(“之前”), 将框架指定为 “截止到之前 n 行”,加上自