【发布时间】:2013-02-10 05:18:08
【问题描述】:
我有一个包含以下列的 StudentGrades 表:
StudentID | CourseID | Grade
我需要为每门课程找到最优秀的学生(以及课程 ID 和您为该课程获得的成绩。例如,如果学校总共教授三门课程,则查询应返回:
1111 3 93
2334 4 90
4343 6 100
这是我目前所拥有的。以下查询
select CourseID, MAX(Grade) Grade
from StudentGrades group by CourseID;
生产:
3 83
4 90
6 100
包含 studentID 列的最佳方式是什么?我知道我可以将上述结果保存在临时表中,并与原始 StudentGrades 表连接,其中 CourseID 和 Score 匹配以获得正确的列。是否有其他方式或更好的方式来包含 StudentID?
希望这是有道理的。
谢谢!
【问题讨论】:
标签: sql sql-server select group-by