ВУЗ:
Составители:
Рубрика:
71
Пример 55. Вычислить среднюю стипендию по каждой группе:
SELECT Groups.Name_group, AVG(Students.Stipend)
AS ' Средняя стиипендия’
FROM Groups, Students
WHERE Students.ID_Group=Groups.ID_Group
GROUP BY Groups.Name_group;
Результат выполнения запроса приведен на рис. 22.
Рис. 22. Применение группировки в операторе SELECT
9.6. Предложение HAVING
Это дополнительная возможность «профильтровать» выход-
ной набор.
Предложение HAVING работает следующим образом:
1) GROUP BY разделяет строки на наборы (по типу);
2) на полученные группы накладываются условия предложе-
ния HAVING.
Сравнение условий в HAVING и условий в WHERE:
WHERE накладывает ограничения на строки, HAVING – на
группы;
предложение WHERE отсеивает строки до группировки, а
предложение HAVING – после;
в условии поиска WHERE нельзя задавать агрегатные функции;
в большинстве систем элементы предложения HAVING
должны включаться в список выбора. На предложение WHERE по-
добное ограничение не распространяется.
Пример 56. Вывести список групп, в которых общее количе-
ство экзаменов больше 3:
Пример 55. Вычислить среднюю стипендию по каждой группе:
SELECT Groups.Name_group, AVG(Students.Stipend)
AS ' Средняя стиипендия’
FROM Groups, Students
WHERE Students.ID_Group=Groups.ID_Group
GROUP BY Groups.Name_group;
Результат выполнения запроса приведен на рис. 22.
Рис. 22. Применение группировки в операторе SELECT
9.6. Предложение HAVING
Это дополнительная возможность «профильтровать» выход-
ной набор.
Предложение HAVING работает следующим образом:
1) GROUP BY разделяет строки на наборы (по типу);
2) на полученные группы накладываются условия предложе-
ния HAVING.
Сравнение условий в HAVING и условий в WHERE:
WHERE накладывает ограничения на строки, HAVING – на
группы;
предложение WHERE отсеивает строки до группировки, а
предложение HAVING – после;
в условии поиска WHERE нельзя задавать агрегатные функции;
в большинстве систем элементы предложения HAVING
должны включаться в список выбора. На предложение WHERE по-
добное ограничение не распространяется.
Пример 56. Вывести список групп, в которых общее количе-
ство экзаменов больше 3:
71
Страницы
- « первая
- ‹ предыдущая
- …
- 70
- 71
- 72
- 73
- 74
- …
- следующая ›
- последняя »
