编写一个 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 | +-------+------+
select s1.Score,(select count(distinct score) from scores where score >=s1.score) as Rank from Scores s1 order by Score desc
原文地址:https://www.cnblogs.com/baby123/p/10819283.html
时间: 2024-10-11 22:59:58