2010-04-27 52 views
0

假設您有以下模式(id,user_id,score)。我怎樣才能讓每個用戶都獲得最高分,然後將所有的分數排序。換句話說,我希望每個用戶都有最好的結果。聚合保持最大值的行

回答

1
select user_id, max(score) 
from user_scores 
group by user_id 
order by max(score) 
0

應該是這樣的:

SELECT UNIQUE user_id, score FROM TABLE 
    ORDER BY SCORE DESC 
0
select @rownum := @rownum + 1 AS rank, user_id, MAX(score) as Score 
     from table_name t, 
     (SELECT @rownum := 0) r 
     GROUP BY user_id 
     ORDER BY Score