我有一张包含游戏得分的表格,每个帐户ID允许多行:scores (id, score, accountid)
。我想要列出前10名得分手ID及其得分的列表。
您能否提供一条sql语句来选择前10个得分,但每个帐户ID仅得分一个?
谢谢!
最佳答案
首先,将每个帐户ID的选择限制为最高分。
然后取得前十名的分数。
SELECT TOP 10 AccountId, Score
FROM Scores s1
WHERE AccountId NOT IN
(SELECT AccountId s2 FROM Scores
WHERE s1.AccountId = s2.AccountId and s1.Score > s2.Score)
ORDER BY Score DESC