MySql 分组 获取每组最新的一条数据

📅 2022-03-21 12:45 👁️ 2208 💬 0

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

登录后才能查看或发表评论, 立即 登录
点击右上角即可分享
微信分享提示