1.问题:编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。
2.解决方法:
SELECT
Score,
(
SELECT
count(DISTINCT Score)
FROMScores
WHERE
Score >= s.Score
) AS Rank
FROM
Scores AS s
ORDER BY
Score DESC;
3.若有更好的方法,可以交流