MySQL中rank() over、dense_rank() over和row_number() over怎么用
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,今天小编给大家分享一下MySQL中rank() over、dense_rank() over和row_number() over怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知
千家信息网最后更新 2024年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安全错误
数据库的锁怎样保障安全
ibm服务器驱动怎么下载
国家 出台的网络安全
普通pc当服务器
网络技术学习好物分享
邮箱服务器上传失败是怎么回事
软件开发铃声彩铃
网络安全属于哪个分类
安徽网络技术公司
茅盾数据库
485通讯的数据写入数据库
上海企业软件开发中心
网络安全靠人民人抄一
数据库自动备份工具正式免费版
百度地图api公交数据库
学校通过服务器管理电脑上网
软件开发专业学校排名前列有哪家
北京金源万博软件开发
国行ps4无法连接的服务器
泰拉瑞亚服务器管理员密码
psam服务器技术
o2o电商软件开发中心
网络安全保卫局地址
江苏5g服务器机柜厂云空间
db2数据库所设计的产品
慈溪哪里有做软件开发的
gp数据库shell命令
郑州微信软件开发
杭州物流软件开发一般要多少钱
访问linux服务器工具
如何制作数据库用于查询