Составители:
Рубрика:
Рис. 4.24. Группировка по нескольким атрибутам
Если же возникает необходимость ограничить число групп, полученных после
GROUP BY, то, используя предложение HAVING, можно это реализовать.
4.5. Использование фразы HAVING
Фраза HAVING играет такую же роль для групп, что и фраза WHERE для строк:
она используется для исключения групп, точно так же, как WHERE используется для
исключения строк. Эта фраза включается в предложение
лишь при наличии фразы GROUP BY, а выражение в HAVING должно принимать
единственное значение для группы.
Например, пусть надо выдать количественный состав всех отделов
(рис. 2.3),
исключая отдел с номером 3.
SELECT Ид_Отд, COUNT (DISTINCT Ид_Отд) AS Кол-во _сотрудников
FROM Отдел_ Сотрудники
WHERE Дата_ увольнения NOT NULL
GROUP BY Ид_Отд HAVING Ид_Отд < > 3;
Ид_Отд Кол_во_сотрудников
1 5
2 4
Рис. 4.25. Запрос с группировкой и ограничением
Последним элементом при вычислении табличного выражения используется
раздел HAVING (если он присутствует). Синтаксис этого раздела следующий:
<having clause> ::=
HAVING <search condition>
Условие поиска этого раздела задает условие на группу строк сгруппированной
таблицы. Формально раздел HAVING может присутствовать и в табличном выражении,
не содержащем GROUP BY. В этом случае полагается, что результат вычисления
предыдущих разделов представляет собой сгруппированную таблицу, состоящую из
одной группы без выделенных столбцов группирования.
Условие поиска раздела HAVING строится по тем же синтаксическим правилам,
что и условие поиска раздела WHERE, и может включать те же самые предикаты.
Страницы
- « первая
- ‹ предыдущая
- …
- 92
- 93
- 94
- 95
- 96
- …
- следующая ›
- последняя »
