从MySQL表中获取顶级玩家

qua*_*rky 1 mysql select unique distinct

我在MySQL DB中有表,其中包含两个字段user_idscore.此表是一种日志表,因此对于具有不同分数的一个user_id,可以有多行.如何才能从此表中获得得分最高的前10位用户?

Luk*_*zda 5

SELECT DISTINCT user_id
FROM your_table
ORDER BY score DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

编辑:

SELECT DISTINCT *
FROM your_table
WHERE (user_id, score) IN (SELECT user_id, MAX(score) AS score
                           FROM your_table
                           GROUP BY user_id)
ORDER BY score DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

SqlFiddleDemo