我有一個包含多個用戶記錄的表格,按日期排序。用戶的統計數據保存在那裏,併爲每個事件創建一個新條目。MySQL - 根據表中的名稱出現排名用戶;從名稱查找排名
我創建了取前10名用戶,基於發生的查詢:
SELECT * FROM (
SELECT name, COUNT(*) AS occurrences
FROM users
GROUP BY name
ORDER BY occurrences DESC LIMIT 10
) AS rank;
它正確地報告所有的前10名用戶,並且次數每次出現。
但是,我會喜歡搜索某個用戶,它不僅會報告他出現的次數,還會報告他的總體排名。如果所有用戶都按發生次數排序,排名將是他在列表中的位置。
我一直在嘗試使用SELECT ROW_NUMBER(),但我總是得到無效的語法,不完全確定我做錯了什麼,不幸的是。我一直在嘗試隨機的東西,我一直在網上找到,但似乎沒有工作。
什麼是最好的方式來找到用戶的排名?只有一個查詢,如果可能的話。
感謝, 努諾
看到這個答案,讓你開始:http://stackoverflow.com/ a/3614741/1385896 –