我有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
现在我如何才能获得得分高的用户。请帮帮....
答案 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)
这应该给你最高分,用户#和那个分数的时间,如果这是你想要的。 如果您不需要时间,则只能执行内部查询