MySQL中rank() over、dense_rank() over和row_number() over怎么用
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,今天小编给大家分享一下MySQL中rank() over、dense_rank() over和row_number() over怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知
千家信息网最后更新 2025年11月14日MySQL中rank() over、dense_rank() over和row_number() over怎么用
今天小编给大家分享一下MySQL中rank() over、dense_rank() over和row_number() over怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
上述的这道题,如果不使用本次用到的函数的答案如下,也就是说,如果你的MySQL无法使用本篇中的函数,可以通过下面的语法逻辑做替换。
SELECT t1.Score as Score, ( SELECT COUNT(DISTINCT t2.Score) FROM Scores t2 WHERE t2.Score >= t1.Score ) AS `Rank` FROM Scores t1 ORDER BY t1.Score DESC
rank() over(业务逻辑)
作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续。
说明:例如学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占的名次。即:1 1 3 4 5 5 7
SELECT id, name, score, rank() over(ORDER BY score DESC) AS 'rank' FROM student

dense_rank() over(业务逻辑)
作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续。
说明:和rank() over 的作用相同,区别在于dense_rank() over 排名是密集连续的。例如学生排名,使用这个函数,成绩相同的两名是并列,下一位同学接着下一个名次。即:1 1 2 3 4 5 5 6
SELECT id, name, score, dense_rank() over(ORDER BY score DESC) AS 'rank' FROM student

row_number() over(业务逻辑)
作用:查出指定条件后的进行排名,条件相同排名也不相同,排名间断不连续。
说明:这个函数不需要考虑是否并列,即使根据条件查询出来的数值相同也会进行连续排序。即:1 2 3 4 5 6
SELECT id, name, score, row_number() over(ORDER BY score DESC) AS 'rank' FROM student
后记
函数中的业务逻辑可以是复杂的,不局限于 ORDER BY,也可以加 PARTITION BY。
### 分班级排名SELECT id, name, score, class, row_number() over(PARTITION BY class ORDER BY score DESC) AS 'rank' FROM student
以上就是"MySQL中rank() over、dense_rank() over和row_number() over怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
相同
条件
函数
逻辑
业务
作用
知识
篇文章
内容
同学
名次
学生
成绩
面的
不同
复杂
很大
也就是
也就是说
可以通过
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全班会三年级
天威网络安全宣传
数据库可以完成的操作
天龙八部怎么爆满服务器
软件开发合同 审查
带你一图了解网络安全法
大连市青少年网络安全知识
张家口市网络安全局
百词斩例句数据库
莱茵方舟网络技术公司
网络技术启示
网络安全三年发展规划
荐聚法案例法律数据库
edius网络技术
基岩版加不了服务器
北京网络版erp软件网络技术
网络安全服务存在问题
无锡网络软件开发介绍
大同网络技术参数
现代化软件开发设计规范
中国移动互联网数据库app
二年级一班网络安全教育教案
网易版如何免费创建服务器
德国云服务器
网站虚拟服务器
软件开发安卓系统如何调时间
福建林业科研课题项目软件开发
奥特曼传奇英雄怎么更换服务器
湖北微乐营互联网科技有限公司
基岩版2b2t服务器大全