我想根據遊戲中的殺死數量創建一個排行榜,其中顯示前5名的玩家(殺傷次數相同的人的排名相同)。MySQL在一列中將記錄數量限制爲5個唯一值
我如何獲得所有記錄直到排名5位置(所有記錄直到最多5列中的唯一值(殺死))。
我希望這是有道理的。
該查詢還需要考慮地圖。例如:where地圖= 'MAP_NAME'
例如:
表:
Name, Map, Kills
user0 - map2 - 30
user1 - map1 - 30
user2 - map1 - 27
user3 - map1 - 54
user4 - map1 - 34
user5 - map1 - 34
user6 - map1 - 27
user7 - map1 - 22
user8 - map1 - 22
user9 - map1 - 31
user10 - map1 - 21
user11 - map1 - 27
user12 - map2 - 34
結果所需要的(所有的播放器/頂部5個等級與地圖名稱MAP1內的記錄):
1. user3 - 54
2. user4 - 34
user5 - 34
3. user9 - 31
4. user1 - 30
5. user2 - 27
user6 - 27
user11 - 27
到目前爲止,我有:SELECT * FROM
記錄WHERE
地圖= 'map1' ORDER BY
殺死DESC
但我需要限制返回的行數僅爲top 5 ranks
所需的數量,而不是所有行。
什麼傳奇!謝謝 –
我發現很難相信這個查詢實際上適用於發佈的問題。 –
請運行小提琴來驗證輸出。 –