Aggregation
Когда важны не отдельные строки, а общий результат
До этого мы выбирали, фильтровали и сортировали отдельные строки. Но часто вопрос к данным звучит иначе: сколько заказов сделано, какова средняя цена, какая сумма продаж получилась за день или сколько пользователей находится в каждой стране.
Для таких задач SQL использует агрегацию: множество строк превращается в одно итоговое значение или в набор итогов по группам.
Что будет внутри раздела
- Агрегатные функции. Поймём общий принцип функций, которые вычисляют одно значение по набору строк.
- COUNT. Разберём подсчёт строк и важную разницу между
COUNT(*)иCOUNT(column). - SUM, AVG, MIN и MAX. Научимся получать сумму, среднее, минимальное и максимальное значение.
- GROUP BY. Перейдём от одного итога по всей выборке к отдельному итогу для каждой группы строк.
- HAVING. Научимся фильтровать уже сформированные группы по результатам агрегирования.
- Группировка по нескольким столбцам. Разберём группы, которые определяются не одним, а сочетанием нескольких значений.
Темы идут последовательно: сначала мы считаем итог по всей выборке, затем делим строки на группы и уже после этого учимся управлять такими группами.