Re: [SQL ] 找出每个科目最高成绩的学生名及成绩

楼主: cutekid (可爱小孩子)   2019-10-21 01:16:16
select t1.*
from score t1 inner join (
select cno,max(degree) as maxDegree
from score
group by cno
) t2 on t1.cno = t2.cno and t1.degree = t2.maxDegree
说明:
1. 黄色取出各科最高成绩
2. 青色join黄色取得结果
※ 引述《paranoia5201 (社会黑暗、行路难)》之铭言:
: 数据库名称:无
: 数据库版本:无
: 内容/问题描述:(这是一个考题)
: 有一张成绩表为score,其中有三个字段:课程名称cno,学生代号sno,修课成绩degree。
: 如何取出各科目最高成绩之学生代码及修课成绩?
: 简单的想法:
: (select cno, sno, max(degree) from score group by cno)
: 上述结果我不确定sno会是对应出最高分数的学生名吗?
: 另一个想法:(未完成)
: select * from score order by cno, degree
: 将成绩表以科目与分数排列后,试图捉出每个科目的最后一栏,
: 但是就不知道怎么选出每个科目的最后一栏了......
: 各科目依照成绩排列后的最后一栏,很明显就是最高成绩的学生了。
: 两个写法不晓得是否正确操作,由于这是考题所以无法实作。
: 还请各位指导,感谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com