窗口函数
1.1 什么是窗口函数
窗口函数:窗口类似于窗户,限定了一个空间范围,在数据库当中可以理解为记录集合,每一条记录都会在窗口中计算一个值出来
函数的基本用法:
函数名([expr]) over子句
函数() over()
其中over是关键字,用来指定函数执行的窗口范围,包含三个分析子句:
分组子句 partition by<要分列的组>
排序子句 order by<要排序的列>
窗口子句 rows between<数据范围>
如果括号里面内容不填写,则意味着窗口包含满足where条件的所有行
rows between 范围实例:
1.2 窗口函数的应用
窗口函数有两种:
-
专有窗口函数
-
rank()
-
dense_rank()
-
row_number()
-
-
聚合类窗口函数
普通场景下,聚合函数往往和group by 一起使用,但是窗口环境下,聚合函数也可以应用进来
-
sum()
-
count()
-
avg()
-
max()
-
min()
-
-