Агрегатные функции в HAVING в SQL
НАВИГАЦИЯ ПО СТРАНИЦЕ
Агрегатные функции в секции SUM
, COUNT
, AVG
, MAX
, и другие, к каждой группе. Затем, с помощью 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. Это позволяет вам фильтровать результаты в соответствии с условиями, определенными на основе агрегированных значений.