编写语句以使用分组依据而不是分组依据表达式创建报表 获得错误



问题: 列出所有课程及其每门课程中出勤人数超过 5 人的出勤总数的报告,方法是使用具有 GROUP BY 和"具有"条件的聚合函数

陈述:

SELECT SUM(NO_OF_ATTENDANCES), COURSE_ID, EXERCISE_TYPE, COURSE_LOC
FROM I_COURSE
GROUP BY COURSE_LOC
HAVING SUM(NO_OF_ATTENDANCES) > 5;

请帮助我,告诉我出了什么问题以及为什么会出现错误。

表名I_COURSE

属性包括:COURSE_ID、EXERCISE_TYPE、COURSE_LOC NO_OF_ATTENDANCES

您只需按COURSE_ID分组为:

SELECT SUM(NO_OF_ATTENDANCES), COURSE_ID
FROM I_COURSE
GROUP BY COURSE_ID
HAVING SUM(NO_OF_ATTENDANCES) > 5;

首先COURSE_ID列足以获得所需的结果,并且不可能在 SELECT 列表中包含不在 GROUP BY 列表中的 [非聚合] 列。

最新更新