编写语句以使用group by而不是group by表达式创建报表以获取错误

时间:2018-10-25 18:41:29

标签: mysql sql oracle

问题: 通过使用GROUP BY和“ HAVING”条件的合计函数,列出所有课程及其上座人数超过5的所有课程的报告。

声明:

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

1 个答案:

答案 0 :(得分:0)

您只需要按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]列表中没有的[未聚合]列。