Карта / SQL / Агрегатные функции

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

Агрегатные функции считают что-то по группе строк и возвращают одно значение — сумму, среднее, количество.

SELECT COUNT(*) FROM users;                 -- сколько всего пользователей
SELECT AVG(age) FROM users;                  -- средний возраст
SELECT SUM(total) FROM orders;               -- сумма всех заказов
SELECT MAX(age), MIN(age) FROM users;         -- самый старший / младший
Копнуть глубже

COUNT(*) vs COUNT(column). COUNT(*) считает все строки, COUNT(column) — только строки, где это поле не NULL:

SELECT COUNT(*) FROM users;          -- все строки
SELECT COUNT(email) FROM users;       -- только те, у кого email заполнен

Агрегатные функции часто комбинируют с GROUP BY — посчитать что-то не по всей таблице, а по группам (подробнее — в теме «GROUP BY»).

🎤 Закрыл тему, если можешь объяснить:
• что делают COUNT, SUM, AVG, MAX, MIN;
• разницу COUNT(*) и COUNT(column) (если дошёл до 2-го слоя).