Агрегатные функции позволяют нам получить непосредственно итоговый результат, но что, если нам необходимо произвести агрегацию в разбивке по критерию?
Для этого в SQL предусмотрена группировка.
Мы хотим посчитать количество проданного товара для каждого дня. Рассмотрим реализацию запроса:
select
Date,
sum(quantity) as total_quantity
from
supermarket_sales
group by
Date
Чтобы суммирование количества проданного товара происходило корректно, мы добавляем конструкцию GROUP BY
, в рамках которой мы указываем колонку Date
, благодаря ей происходит группировка.
Нужно взять за правило: при агрегации мы всегда пишем GROUP BY
вместе с колонками, по которым агрегируем.