编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。
例如,根据上述给定的 Scores
表,你的查询应该返回(按分数从高到低排列):
表二
表二: Score 字段
Select A.Score from Scores A order by Score desc
A.Score
B.Score
select count(distinct B.Score) as Rank from Scores B where B.Score >= A.Score
当B.Score >= A.Score ,Scores B 执行去重计总数 化为 Rank字段
合并后:
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 Score desc;
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rank-scores
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。