我需要一个SQL查询,它会给出学生姓名主题, 标记最高
表格
EXEC sp_mine @arg1 = @P1
期望的结果
ID StudentName Subject Marks
1 A English 50
2 B English 40
3 C English 60
4 D Science 10
5 E Science 30
6 F Science 20
答案 0 :(得分:2)
你可以做自我加入。 像这样的东西。 这将打印出最高分的学生。
SELECT table_name.StudentName,table_name.Subject
FROM
table_name INNER JOIN
(SELECT `Subject`,MAX(`Marks`) AS Marks FROM table_name GROUP by `Subject`) T
ON table_name.Marks=T.Marks AND table_name.`Subject` = T.`Subject`
希望这有帮助。