Уроки модуля (4/4)
Подсчет и суммирование: COUNT, AVG, MAX.
До сих пор каждый SELECT возвращал по одной строке для каждой строки таблицы.
Агрегатные функции действуют наоборот: они читают множество строк и возвращают результат.
одно значение, обобщающее их.
Наиболее распространенными из них являются:
COUNT(*)— сколько строк.AVG(column)— среднее числовых значений (игнорируетсяNULL).MAX(column)/MIN(column)— максимальное/минимальное значение.SUM(column)— сумма числовых значений.
SELECT COUNT(*),
AVG(salary),
MAX(salary)
FROM employees;Когда агрегат применяется ко всей таблице (без GROUP BY, который
вы увидите в следующем модуле) результат — одна строка, независимо от
количества строк в исходной таблице.
В сочетании с ГДЕ
WHERE фильтрует перед агрегированием: агрегат работает только со строками.
который прошел фильтр.
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;Попробуйте это
Сколько сотрудников принято на работу с 1 января 2020 года? Возвращает одно число (одна строка, один столбец).
Показать подсказку
Функция, подсчитывающая строки, — COUNT(*).
Решение доступно после 3 попыток
Обзор упражнения
С помощью одного запроса вычислите среднюю (AVG) и максимальную (MAX) зарплату сотрудников отдела маркетинга (department_id = 3). Одна строка, два столбца.
Показать подсказку
В один SELECT можно поместить несколько агрегатных функций, разделив их запятыми.
Решение доступно после 3 попыток