178 分数排名
题目描述:
SQL架构
编写一个 SQL 查询来实现分数排名。
如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。

例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):

重要提示:对于 MySQL 解决方案,如果要转义用作列名的保留字,可以在关键字之前和之后使用撇号。例如 Rank
方法1:
主要思路:
(1)分成两部分,一部分用来查询分数并将分数降序处理,一部分用来找出分数对应的排名,既通过统计去重后的分数中,大于等于当前分数的数量,即为当前分数的排名;

# Write your MySQL query statement below
select a.score as score,(select count(distinct b.score) from scores b where b.score>=a.score) as 'Rank'
from scores a
order by a.score desc;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
