MySql 分組 獲取每組最新的一條數據
前提:學生成績表如下
問題描述:獲取每門科目成績最高的記錄,即取出 語文成績最高(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`
結果: