获取唯一行的Mysql查询

时间:2010-07-15 08:08:55

标签: mysql

我有3个列的名为'测试'的表,即用户,得分,'时间'中的时间是唯一的,用户,得分以不同的分数重复。如下所示

user |   score  |   time
----------------------------
535  | 17       | 1279170280
535  | 1        | 1279170693
100  | 55       | 1279171361
100  | 30       | 1279171412
535  | 2        | 1279173412
595  | 4        | 1279173539
595  | 22       | 1279173571
595  | 50       | 1279173775

现在我如何才能获得得分高的用户。请帮帮....

3 个答案:

答案 0 :(得分:1)

以下内容将为您提供每位用户的最高得分列表。

select user, max(score) from table group by user

如果你想要前10名,只需添加限额

select user, max(score) from table group by user limit 10

答案 1 :(得分:1)

SELECT 
  user,
  max(score)
FROM
 testing
GROUP BY
 user

这应该这样做..

答案 2 :(得分:1)

select * 
from testing join 
     (select max(score) score, user 
      from testing 
      group by user) high using (score, user)

这应该给你最高分,用户#和那个分数的时间,如果这是你想要的。 如果您不需要时间,则只能执行内部查询