Window函数

2022-02-21  本文已影响0人  疾风2018

Window函数就是窗口函数,它是一个mapping性质的函数,是定义在SQL标准里的,在Oracle、MySQL 8.0、MSSQL上都被支持。

Window函数里可以包含分组(不叫group by,而是叫partition by)和排序,然后根据分组和排序后的结果做聚合等操作,但是跟真正的聚合函数有本质的区别。这个区别就是Window函数不会真的聚合多行为一行,即不会改变表的行数。所以它是一个mapping函数,而不是reduce 函数。

Window函数主要分为三组:
1. 排序函数
比如在包含多个班级的成绩的表中,为每个班级的学生成绩生成排序号。
2. 聚合函数
比如在包含多个班级的成绩的表中,为每个班级的学生成绩生成(当前行加上之前的行的行集的)平均成绩。
3. 分析函数
比如找到当前行的上一行的同列的值,用于前后比较。

上一篇下一篇

猜你喜欢

热点阅读