LeetCode MySQL 178. 分数排名(dense_rank连续排名)
发布日期:2021-07-01 03:30:48
浏览次数:2
分类:技术文章
本文共 951 字,大约阅读时间需要 3 分钟。
文章目录
1. 题目
编写一个 SQL 查询来实现分数排名。
如果两个分数相同,则两个分数排名(Rank)相同。
请注意,平分后的下一个名次应该是下一个连续的整数值。 换句话说,名次之间不应该有“间隔”。+----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5 | 4.00 || 6 | 3.65 |+----+-------+
例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):
+-------+------+| Score | Rank |+-------+------+| 4.00 | 1 || 4.00 | 1 || 3.85 | 2 || 3.65 | 3 || 3.65 | 3 || 3.50 | 4 |+-------+------+
重要提示:对于 MySQL 解决方案,如果要转义用作列名的保留字,可以在关键字之前和之后使用撇号。例如 ‘Rank‘
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rank-scores
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
# Write your MySQL query statement belowselect Score, dense_rank() over(order by Score desc) 'Rank'from Scores
or
# Write your MySQL query statement belowselect s1.Score, count(distinct(s2.Score)) 'Rank'from Scores s1, Scores s2where s1.Score <= s2.Scoregroup by s1.Idorder by s1.Score desc
我的CSDN
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
转载地址:https://michael.blog.csdn.net/article/details/107735837 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年05月06日 09时54分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Scala学习第十四天 Scala中作为接口的trait、在对象中混入trait代码实战
2019-05-03
Scala学习第十五天 Scala多重继承、多重继承构造器执行顺序及AOP实现
2019-05-03
Scala学习第十六天 包的定义、包对象、包的引用、包的隐式引用代码实战
2019-05-03
Scala学习第十七天 包、类、对象、成员、伴生类、伴生对象访问权限实战彻底详解
2019-05-03
Scala学习第十八天 文件的读取、写入、控制台输入操作代码实战
2019-05-03
Scala学习第十九天 正则表达式、与模式匹配结合的的Reg代码实战
2019-05-03
剑指offer:栈的压入、弹出序列(java)
2019-05-03
剑指offer:往上到下打印二叉树(java)
2019-05-03
剑指offer:二叉搜索树的后序遍历序列(java)
2019-05-03
剑指offer:二叉树中和为某一值的所有路径(java)
2019-05-03
剑指offer:复杂链表的复制(java)
2019-05-03
剑指offer:二叉搜索树与双向链表(java)
2019-05-03
剑指offer:字符串的排列(java)
2019-05-03
剑指offer:字符串的组合(java)
2019-05-03
剑指offer:数组中出现次数超过一半的数字(java)
2019-05-03
剑指offer:最小的k个数(java)
2019-05-03
剑指offer:连续子数组的最大和(java)
2019-05-03
剑指offer:从1到n整数中1出现的次数(java)
2019-05-03
剑指offer:把数组排成最小的数(java)
2019-05-03
剑指offer:丑数(java)
2019-05-03