简单来说,窗口函数有以下功能:
1)同时具有分组和排序的功能
2)不减少原表的行数
3)语法如下:
<窗口函数> over (partition by <用于分组的列名>
order by <用于排序的列名> [rows between ?? and ???])
一、排序窗口函数
① row_number() – 相同值排名顺延,返回结果1、2、3、4
② rank() – 相同结果排名相同,后续排名不连续,返回结果为 1、2、2、4
③ dense_rank() – 相同结果排名相同,后续排名顺延,返回结果为 1、2、2、3
二、聚合窗口函数
① sum() – 分组求和
② count() – 分组求总数
③ min() – 分组求最小值
④ max() – 分组求最大值
⑤ avg() --分组求均值
本文介绍了窗口函数在SQL中的应用,包括其分组和排序功能,如row_number(),rank(),dense_rank()的排序规则,以及聚合函数如sum(),count(),min(),max(),avg()的使用。强调了窗口函数如何在保持原数据行数不变的情况下进行统计分析。
9909

被折叠的 条评论
为什么被折叠?



