HAVING оператор MySQL

В этом учебном пособии вы узнаете, как использовать MySQL оператор HAVING с синтаксисом и примерами.

Описание

MySQL оператор HAVING используется в сочетании с оператором GROUP BY, чтобы ограничить группы возвращаемых строк только тех, чье условие TRUE.

Синтаксис

Синтаксис оператора HAVING в MySQL:

SELECT expression1, expression2, … expression_n,
aggregate_function (expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, … expression_n
HAVING condition;

Параметры или аргументы

aggregate_function — функция, такая как функции SUM, COUNT, MIN, MAX или AVG.
expression1, expression2, … expression_n — выражения, которые не заключены в агрегированную функцию и должны быть включены в предложение GROUP BY.
WHERE conditions — необязательный. Это условия для выбора записей.
HAVING condition — Это дополнительное условие применяется только к агрегированным результатам для ограничения групп возвращаемых строк. В результирующий набор будут включены только те группы, состояние которых соответствует TRUE.

Пример использования функции SUM

Рассмотрим пример MySQL оператора HAVING, в котором используется функция SUM.

Вы также можете использовать функцию SUM, чтобы вернуть имя product и общее количество (для этого product). MySQL оператор HAVING будет фильтровать результаты так, чтобы возвращались только product с общим количеством больше 10.

Пример использования функции COUNT

Рассмотрим, как мы можем использовать оператор HAVING с функцией COUNT в MySQL.

Вы можете использовать функцию COUNT, чтобы вернуть имя product и количество заказов (для этого product), которые находятся в категории ‘produce’. MySQL оператор HAVING будет фильтровать результаты так, чтобы возвращались только product с более чем 20 заказами.

Пример использования функции MIN

Рассмотрим, как мы можем использовать оператор HAVING с функцией MIN в MySQL.

Вы также можете использовать функцию MIN, чтобы вернуть имя каждого department и минимальную зарплату в department. MySQL оператор HAVING будет возвращать только те department, где минимальная зарплата составляет менее 50000 биткоинов :).

Пример использования функции MAX

Наконец, давайте посмотрим, как мы можем использовать оператор HAVING с функцией MAX в MySQL.
Например, вы также можете использовать функцию MAX для возврата имени каждого department и максимальной заработной платы в department. Предложение MySQL HAVING будет возвращать только те department, чья максимальная заработная плата превышает 25000 биткоинов :).