从MySQL表中获取顶级玩家

时间:2015-10-31 21:59:19

标签: mysql select unique distinct

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

2 个答案:

答案 0 :(得分:5)

SELECT DISTINCT user_id
FROM your_table
ORDER BY score DESC
LIMIT 10

修改

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

SqlFiddleDemo

答案 1 :(得分:0)

这是基本的,你应该付出更多的努力;这是你可以使用的模板 -

SELECT TOP 10 distinct * 
FROM people 
WHERE names='SMITH'
ORDER BY names asc