2010-07-15 4 views
0

У меня есть таблица с именем 'testing' из 3 столбцов, то есть пользователь, оценка, время в этом 'time' уникально и пользователь, оценка повторяется с разным счетом. как показано нижеЗапрос Mysql для получения уникальных строк

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 

Теперь, как я могу получить высокий результат, пользователи однозначно. пожалуйста, помогите ....

ответ

1

Ниже вы получите список самых высоких баллов для каждого пользователя.

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

Если вы хотите, топ-10, просто добавьте предел

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

У меня есть решение. привет спасибо за помощь. – user392406

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

это должно сделать ..

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

Это должно дать вам самый высокий балл, пользователь # и время этого балла, если это то, что вы хотели. Если вам не нужно время, вы можете выполнить только внутренний запрос

+0

большое спасибо ................ – user392406

Смежные вопросы