Mysql查询每个人考试成绩的最大分
第一种:窗口函数
使用row_number
窗口函数对student_id进行分组,对score进行倒叙排序,然后取rn=1的值
select student_id,score
from (select student_id,score,row_number() over(partition by student_id order by score desc) as rn from student_achievement) order_score
where rn=1
第二种:MAX函数
使用group by
分组,使用max()
函数取最大值
select student_id,max(score) as score
from student_achievement
group by student_id
备注:这两种方法可以用于分组取最大值