Группировка по одному признаку

ГРУППИРОВКА ПО ОДНОМУ ПРИЗНАКУ

Агрегатные функции позволяют нам получить непосредственно итоговый результат, но что, если нам необходимо произвести агрегацию в разбивке по критерию?

Для этого в SQL предусмотрена группировка. 

Мы хотим посчитать количество проданного товара для каждого дня. Рассмотрим реализацию запроса: 

select
    Date,
    sum(quantity) as total_quantity
from
    supermarket_sales
group by
    Date

Чтобы суммирование количества проданного товара происходило корректно, мы добавляем конструкцию GROUP BY, в рамках которой мы указываем колонку Date, благодаря ей происходит группировка.

Нужно взять за правило: при агрегации мы всегда пишем GROUP BY вместе с колонками, по которым агрегируем.