最高分学生

Students with Highest Mark

编写一个查询以显示学生姓名和他们在任何科目中的最高分,按姓名升序排列。给最大标记起一个别名MAX_MARK。 我找不到这方面的逻辑。请帮助我。在 oracle 中执行 SQL 我在 SQL 处于初级水平。

SELECT MAX(M.VALUE), S2.SUBJECT_ID,M.STUDENT_ID, S2.SUBJECT_NAME,S2.SUBJECT_CODE
from Mark M INNER JOIN SUBJECT S2 
ON M.SUBJECT_ID=S2.SUBJECT_ID group BY S2.SUBJECT_ID, 
S2.SUBJECT_CODE, S2.SUBJECT_NAME;

如果我在上述查询的帮助下得到这个学生 ID,那么我在这个查询中遇到错误,然后我可以使用子查询概念轻松解决这个问题。

那里不需要主题。问题是每个学生的最高分数,无论学科如何:

SELECT s.Student_Name, MAX(M.VALUE) as MAX_MARK
from Student s
inner Join Mark M on m.student_id = s.student_id  
group by s.student_id, s.student_name 
order by s.student_name;