【发布时间】:2013-04-23 22:07:38
【问题描述】:
我正在尝试列出在秋季学期注册了至少一门课程或在春季学期注册了至少一门课程的学生,但不能同时注册两者。我试图从不同的角度去解决这个问题,但到目前为止我还没有成功。我觉得完成此解决方案的代码如下。任何帮助表示赞赏!
SELECT enrolled.StudentID, student.LastName, student.FirstName
, enrolled.courseID, enrolled.Quarter
FROM enrolled
INNER JOIN student ON enrolled.studentID = student.SID
GROUP BY enrolled.StudentID, student.LastName, student.FirstName
, enrolled.courseID, enrolled.Quarter
HAVING (count(distinct enrolled.Quarter) = 1)
【问题讨论】:
-
如果您从 group by Alone 中删除 registered.Quarter,则会为不正确的 group by 给出错误。如果我从 SELECT 中删除了 registered.Quarter ,同时也从 GroupBy 中删除了,我仍然会得到所有行。
标签: mysql sql count having having-clause