求每位学生最高成绩的科目
可以参考:
http://blog.csdn.net/baidu_32731497/article/details/51934898
其中第一个例子就是。
如果对您有帮助,请采纳答案好吗,谢谢!
SELECT
Student.SNAME,SCORE.CNO,SCORE.GRADE
FROM
Student,SCORE
WHERE
SCORE.GRADE IN
( SELECT
MAX(GRADE)AS MAXXGRADE
FROM
SCORE
GROUP BY
SCORE.SNO)AND STUDENT.SNO=SCORE.SNO
看你用的是什么数据库,比如sql server 2005+支持OVER ... PARTITION的,可以用它。如果是sql server 2000,mysql,就只能用子查询+group by
提问的时候要注意,把你具体用的什么数据库写清楚,才能得到具体的回答。
把查询语句琢磨出来就可以了
聚合函数,row_number()over(partition by name order by score) 取第一条
可以先用Group by 将每个同学各分成一组,然后在查询每个分组中的成绩最大值的科目名称,这里可以用到MAX函数或者对其进行降序排列