Ответ
Агрегатная функция в SQL — это функция, которая выполняет вычисление над набором строк (группой) и возвращает одно итоговое значение. Она всегда используется в контексте выборки данных, часто с оператором GROUP BY.
Основные агрегатные функции SQL:
COUNT()— возвращает количество строк в группе.SUM()— возвращает сумму значений числового столбца.AVG()— возвращает среднее арифметическое значений.MAX()/MIN()— возвращает максимальное/минимальное значение.STRING_AGG()(илиGROUP_CONCAT()в MySQL) — объединяет строковые значения в одну строку.
Примеры использования:
-- Подсчет общего числа сотрудников
SELECT COUNT(*) AS total_employees FROM employees;
-- Средняя зарплата по отделам
SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id;
-- Максимальная и минимальная зарплата в компании
SELECT MAX(salary) AS max_salary, MIN(salary) AS min_salary FROM employees;
-- Сумма продаж по менеджерам за месяц
SELECT manager_id, SUM(amount) AS total_sales
FROM sales
WHERE sale_date >= '2024-01-01'
GROUP BY manager_id
HAVING SUM(amount) > 10000; -- HAVING фильтрует результаты агрегации
Важно: Агрегатные функции игнорируют значения NULL, за исключением COUNT(*).