mysql如何查询每门课的最低分的同学的学号与分数

我写的代码是SELECT c_name, min(grade) from student,score,course WHERE student.id=score.stu_id AND course.c_id=score.cor_id GROUP BY c_name;
但无法查询出每门课的最低分的同学的学号与分数,我的代码如何改进?

img

img

img

大概这样吧。。~

img

select course.c_name,student.name,t.grade 
from
(
 select t.grade,t.cor_id,score.stu_id 
 from (SELECT min(grade) as grade,cor_id FROM `score` group by cor_id)t,score where t.grade=score.grade and t.cor_id=score.cor_id
)t

left join student on student.id=t.stu_id
left join course on course.c_id=t.cor_id

order by course.c_name

学号和分数应该在分数表有字段。
根据课程进行分组,求出最低分和课程号以及学号。
然后与课程表进行关联,查询课程名、学号、最低分。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632