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

楼主: moyasi (Simple Life)   2019-10-21 10:56:34
select sno,cno,degree
from (select sno,cno,degree,
rank() over(partition by cno order by degree desc) rn
from score
)
where rn=1;
※ 引述《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