我發現這個問題有一些很好的答案,但我無法真正讓他們工作。從mysql查詢獲得玩家的排名
我不想從hiscore表中獲得球員排名。
id name score
1 John 10
2 Linda 5
3 Emmy 25
我要在名稱通過查詢(琳達),並得到她的排名(她只在上表5分),並獲得她的等級(NR 3)。
我發現這個答案類似的問題,但不明白:
SELECT uo.*,
(
SELECT COUNT(*)
FROM users ui
WHERE (ui.points, ui.id) >= (uo.points, uo.id)
) AS rank
FROM users uo
WHERE id = @id
在此先感謝
看起來你有優秀作品的答案。計算所有用戶的分數大於或等於指定用戶的分數。 (可以改變爲比想要的更大,也可以加1)。然後,將外部的位置更改爲WHERE name ='Linda'作爲示例。 – 2012-03-29 15:09:59