我有如下表(高分),MySQL的:獲得最高分數用戶
id gameid userid name score date
1 38 2345 A 100 2009-07-23 16:45:01
2 39 2345 A 500 2009-07-20 16:45:01
3 31 2345 A 100 2009-07-20 16:45:01
4 38 2345 A 200 2009-10-20 16:45:01
5 38 2345 A 50 2009-07-20 16:45:01
6 32 2345 A 120 2009-07-20 16:45:01
7 32 2345 A 100 2009-07-20 16:45:01
現在,在上述結構中,用戶可以玩遊戲多次,但我想顯示「已賽「由特定用戶。所以在玩遊戲的部分,我無法展示多款遊戲。所以這個概念應該就像用戶玩過3次遊戲一樣,然後應該顯示最高分的遊戲。
我要像結果數據:
id gameid userid name score date
2 39 2345 A 500 2009-07-20 16:45:01
3 31 2345 A 100 2009-07-20 16:45:01
4 38 2345 A 200 2009-10-20 16:45:01
6 32 2345 A 120 2009-07-20 16:45:01
我嘗試下面的查詢,但它不是給我正確的結果:
SELECT id,
gameid,
userid,
date,
MAX(score) AS score
FROM highscores
WHERE userid='2345'
GROUP BY gameid
請告訴我這將是這樣做的查詢?
感謝
怎麼樣打破僵局的處理 - 當有2+記錄相同的遊戲和用戶使用相同的高分?最近的日期? – 2009-11-04 05:22:36
@rexem:在這種情況下,它將返回2中的1條記錄。 – Prashant 2009-11-04 05:46:00
@Prashant:是的,但是基於什麼標準? – 2009-11-04 06:10:38