MySql 分組 獲取每組最新的一條數據


MySql 分組 獲取每組最新的一條數據

前提:學生成績表如下

image-20220321123800495

問題描述:獲取每門科目成績最高的記錄,即取出 語文成績最高(id=3)、數學成績最高(id=4)的兩條數據

解決方案:先按成績(grade)降序,在進行分組

注意 :DISTINCT(s.id) tid 必需

SELECT * 
FROM (
    SELECT DISTINCT(s.id) tid, s.*  FROM `student` s
    ORDER BY s.grade DESC
) t
GROUP BY t.`subject`

結果:

image-20220321124234069


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM