【发布时间】:2020-07-08 09:10:09
【问题描述】:
我正在尝试编写一个查询,列出在每个部门中获得最高总学分的学生。我还必须在结果中包括并列的学生。 查询应返回与部门名称、学生姓名和他们获得的总学分的关系。
SELECT s.dept_name, s.name, s.max
FROM (SELECT dept_name, name, MAX(tot_cred) as max
FROM university.student GROUP BY dept_name) as s,
university.student as t
WHERE s.name = t.name;
它给出了错误,我不知道如何处理关系。 如果我删除查询中的姓名部分,我已经设法获得了每个部门的最高学分(没有平局)
学生表由 ID、姓名、部门、总学分组成。
【问题讨论】:
-
今日提示:始终使用现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),并且在需要时更容易转换为外连接。 -
请提供示例数据和预期结果。
-
@TheImpaler 我已经添加了示例数据和预期结果