最高分学生
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;
编写一个查询以显示学生姓名和他们在任何科目中的最高分,按姓名升序排列。给最大标记起一个别名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;