Группировка данных
В прошлом уроке вы применяли агрегирующие функции к срезам данных. Например, такой запрос выведет среднюю сумму заказов в Осло:
SQL
А если нужно посчитать среднюю сумму заказов для каждого города? Использовать срезы неудобно: придётся писать много запросов. А перед этим нужно получить список уникальных городов, например, с помощью
DISTINCT.Для таких задач подойдёт группировка. Чтобы разделить данные на группы по значениям полей, в SQL используют оператор
GROUP BY. В запросе GROUP BY всегда располагается после условного оператора WHERE. Если WHERE в запросе нет, оператор GROUP BY нужно указать после FROM.Теперь можно выгрузить среднюю сумму заказов для каждого города с помощью группировки.
SQL
Быстро и красиво. Группировка оператором
GROUP BY устроена так: сначала группируются данные по одному городу, для них вычисляется среднее и результат помещается в таблицу. И так для каждого города. Похоже на срезы, только запросов меньше.