Поиск по сайту:
Из ничего ничто не возникает (Мелисс).

SQL — Класс Having

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
22.04.2017
SQL - Класс Having

Класс HAVING позволяет определить условие фильтра, результаты группы которого появляются в результатах.

Предложение WHERE содержит условия к выбранным столбцам, в то время как предложение HAVING содержит условия к группам, созданных GROUP BY.

Синтаксис

Следующий блок кода показывает положение класса HAVING в запросе.

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

 

Условие HAVING должно следовать предложения GROUP BY в запросе, а также должен предшествовать ORDER BY, если используется. Следующий блок кода имеет синтаксис WHERE включая предложение HAVING:

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

Пример

Рассмотрим таблицу CUSTOMERS, имеющую следующие записи:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 34000.00 |
|  5 | Ruslan   |  34 | Omsk      | 45000.00 |
|  6 | Dima     |  32 | SP        |          |
|  7 | Roma     |  34 | SP        |          |
+----+----------+-----+-----------+----------+

 

Ниже приведен пример, который будет отображать запись для подсчета групп возраста, которых было больше или равно 2.

SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
GROUP BY age
HAVING COUNT(age) >= 2;

 

Это выдаст следующий результат:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  5 | Ruslan   |  34 | Omsk      | 45000.00 |
+----+----------+-----+-----------+----------+

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.