... > SQL > Агрегатные функции в...

Агрегатные функции в HAVING в SQL

НАВИГАЦИЯ ПО СТРАНИЦЕ

HAVING COUNT с HAVING

Агрегатные функции в секции HAVING SQL-запроса используются для фильтрации группированных данных. Когда вы используете оператор GROUP BY для группировки данных по определенному критерию, вы можете применять агрегатные функции, такие как SUM, COUNT, AVG, MAX, и другие, к каждой группе. Затем, с помощью HAVING, вы можете определить условия, которым должны удовлетворять группы, чтобы быть включенными в результат.

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

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;

В этом примере мы группируем сотрудников по отделам и подсчитываем количество сотрудников в каждом отделе. Затем, с помощью HAVING, мы выбираем только те группы, у которых количество сотрудников больше 5.

Пример использования агрегатной функции AVG с HAVING:

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

В этом примере мы группируем сотрудников по отделам и вычисляем среднюю зарплату (AVG(salary)) в каждом отделе. Затем, с помощью HAVING, мы выбираем только те группы, у которых средняя зарплата больше 50000.

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

SELECT department, SUM(sales) AS total_sales
FROM sales_data
GROUP BY department
HAVING SUM(sales) > 100000;

В этом примере мы группируем данные о продажах по отделам и вычисляем общую сумму продаж в каждом отделе. Затем, с помощью HAVING, мы выбираем только те группы, у которых общая сумма продаж больше 100000.

Оператор HAVING действует аналогично WHERE, но применяется к агрегатным функциям и работает после группировки данных с использованием GROUP BY. Это позволяет вам фильтровать результаты в соответствии с условиями, определенными на основе агрегированных значений.