mysql分组查询求最大值

img

这是学生成绩表

需要写一个储蓄过程,来计算指定学生的加权平均分,当一个同学多次选修一门课程时,取最高成绩的那次,我想知道,怎么查询才能得到指定学生的成绩单

img

这是正常分组查询,但这样得到的是第一次的数学成绩,不是我想要的最高的那一次,求帮助

使用max函数就可以
SELECT stu_no,name,course, max(score) AS score,xf FROM xscj WHERE XXXXX

求每人中每个科目的最高成绩sql如下:

SELECT e,studo,e.name,e.course,e.score
FROM
(
  SELECT 表名.*,rank() over(partition by stu_no,course ORDER BY score desc) rk
  FROM 表名
)e
WHERE rk=1;