我想列出過去24小時內排名最高的WPM(每分鐘文字數)值的用戶。如果用戶有多個高分,則只應顯示最高分。我到目前爲止:Mysql:如何選擇最近24小時的排名前10位的用戶(並避免多個用戶輸入)
SELECT results.*, users.username
FROM results
JOIN users
ON (results.user_id = users.id)
WHERE results.user_id != 0 AND results.created >= DATE_SUB(NOW(),INTERVAL 24 HOUR)
GROUP BY results.user_id
ORDER BY wpm DESC LIMIT 10
我的問題是,我的代碼沒有獲取最高值。例如:
用戶x有2個高分,但不是選擇此用戶的最高wpm的行,而是選擇具有較低值的行。如果我使用「MAX(results.wpm)」,我會得到最高的wpm。這會很好,但我也需要這一行的擊鍵。我的問題是,即使我提取正確的用戶,我也沒有收到該用戶的正確行(使用戶達到前10位的行)。
這是成績表:
ID | user_id | wpm |擊鍵| count_correct_words | count_wrong_words |創建
我已經試過,但我的MySQL版本「還不支持」限制&在/所有/任何/某些子查詢'「:( –