打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
窗口函数中三种序号函数怎么区分?
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的排序要求(升序或降序),对结果进行排序,无论是否有并列排名,后面都会继续排名,名次不会跳档。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MS SQL Server:排名函数详解
sql 四大排名函数---(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
随机函数用处大,随机安排考生座位
如何在EXCEL中使用rank函数排序
25个高级SQL查询-基于特定排序标准对行进行排序
Excel函数公式: 排名函数Rank好Sumproduct
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服