Модульні уроки (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
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 спроб