为了账号安全,请及时绑定邮箱和手机立即绑定

--输出每门功课成绩最好的学生数据,表名为 stu。mysql不是oracle

--输出每门功课成绩最好的学生数据,表名为 stu。mysql不是oracle

炎炎设计 2019-04-18 18:15:47
查看完整描述

5 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

select * from stu,(select course,MAX(mark) as maxscore from stu group by course) temp where stu.mark = temp.maxscore and stu.course= temp.course


查看完整回答
反对 回复 2019-05-16
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

这样好些,select id,name,stu.mark,stu.course from stu,( select course,MAX(mark) as maxscore from stu group by course) temp where stu.mark = temp.maxscore and stu.course= temp.course

查看完整回答
反对 回复 2019-05-16
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

SELECT id,name,MAX(mark),course FROM stu ORDER BY course


查看完整回答
反对 回复 2019-05-16
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

应该是group by ,sql语句为: SELECT id,name,MAX(mark),course FROM stu GROUP BY course


查看完整回答
反对 回复 2019-05-16
?
浮云间

TA贡献1829条经验 获得超4个赞

select s.* from stu s left join (select max(mark) m,course from stu GROUP BY course) c on s.mark=c.m and s.course=c.course where c.m is not null


查看完整回答
反对 回复 2019-05-16
  • 5 回答
  • 0 关注
  • 736 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信