Россия и Беларусь начали и продолжают войну против целого народа Украины!

Оператор HAVING в SQL

  Юрий  | 

  |

  Обновл. 4 Фев 2023  | 

 201

Оператор HAVING в SQL используется, когда нужно отфильтровать данные на основе агрегатных функций, таких как MIN() и MAX(), SUM() и AVG() и COUNT().

Здесь мы подсчитываем количество клиентов (customer_id), группируя их по странам (country), а затем возвращаем результат, если на страну имеется больше 1 клиента.

Примечание: Оператор HAVING добавили из-за того, что оператор WHERE не поддерживает агрегатные функции. Кроме того, перед оператором HAVING необходимо использовать GROUP BY.

HAVING против WHERE в SQL

Оператор HAVING Оператор WHERE
Проверяет условие для группы строк. Проверяет условие для каждой строки отдельно.
Используется с агрегатными функциями. Нельзя использовать с агрегатными функциями.
Выполняется после оператора GROUP BY. Выполняется перед оператором GROUP BY.

Давайте рассмотрим пример. Если мы хотим выбрать все заказы, сумма (amount) которых меньше 500, мы можем сделать следующее:

Теперь, если нам нужно подсчитать сумму всех заказов по каждому клиенту (customer_id):

Мы получаем сгрупированные данные.

Готово! Но если теперь нам нужно выбрать строки, в которых сумма заказов меньше 500 на каждого клиента, мы можем использовать оператор HAVING следующим образом:

Результат:


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *