[MySQL] 分數排行榜且不重複列出上榜者(取最高分)

Standard

需求:需製作得分前十名的排行榜,使用者可玩很多次,但我們只要取其最高分的那次
資料表為 tbScore、使用者欄位為 userid、分數欄位為 score、紀錄時間為 ans_time

SELECT A. * 
FROM  `tbScore` AS A
RIGHT JOIN (
SELECT * , MAX( score ) AS cc
FROM  `tbScore` 
GROUP BY userid
) AS XX ON A.score = XX.cc
AND XX.userid = A.userid
ORDER BY score DESC , ans_time DESC 
LIMIT 10

參考資料:http://www.blueshop.com.tw/board/FUM20070627174451T3G/BRD20100312165811FEG.html