Вопрос: отчет со списком всех курсов и их общего количества посещений, которые посещают более 5 занятий в каждом курсе с использованием агрегатной функции с условием GROUP BY и условием "HAVING"
Утверждение:
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.