写一条SQL查询出每门科目的最高分,按照科目进行分组

来源:互联网 发布:北方工业大学知乎 编辑:程序博客网 时间:2024/05/18 03:30

面试碰到了这个问题,当时没有写对,现在记录下来(供参考)

题目:有一个学生的成绩表scores(如下表),有id,name,score,subject四个字段,写一条SQL查询出每门科目的最高分,按照科目进行分组,要显示的有姓名、成绩、科目。



SQL:select s1.name, s1.score, s1.subject from scores s1 where s1.score = (select max(s2.score) from scores s2 group by s2.subject having s1.subject=s2.subject);


Result:


这只是其中一种做法,欢迎举出效率更高,更简便的方法。

阅读全文
0 0
原创粉丝点击