2023-06-08
MySQL从8.0版本开始支持窗口函数。窗口函数的作用类似于在查询中对数据进行分组,不同的是,分组操作会把分组的结果聚合成一条记录,而窗口函数是将分组的结果置于每一条数据记录中。
窗口函数可以分为静态窗口函数和动态窗口函数:
静态窗口函数的窗口大小是固定的, 不会因为记录的不同而不同;动态窗口函数的窗口大小会随着记录的不同而变化;
窗口函数总体上可以分为序号函数, 分布函数, 前后函数, 首尾函数和其他函数;
在数据分析中,经常要进行排序,排名的操作,mysql 8.0中新增的窗口函数提供了专门用于此需求的窗口函数:
row_number()、rank()、dense_rank()。很多初学者不太容易区分。以下提供一个易记的思路:
(1)row_number( )从字面意思理解,为行号,所以排出来是从1到N的等差数列。
(2)rank( )根据开窗函数中order by的排序要求(升序或降序),对结果进行排序,如果有并列排名,则后面会跳档下一名次。
(3)dense_rank( )根据开窗函数中order by的排序要求(升序或降序),对结果进行排序,无论是否有并列排名,后面都会继续排名,名次不会跳档。
完 谢谢观看
上一篇: 数据分析常见“陷阱” 下一篇: 数据如何驱动精细化用户运营
CDA认证
关于CDA考试 最新考试安排 考试报名入口 CDA证书查询CDA合作
CDA教育 CDMS Pearson CVA协会关注CDA
关于我们 Email:exam@cdaglobal.com 电 话:010-68454276 微 信:15311595173