SQLLab
Практика· 6 мин· 20 XP

groupby → GROUP BY: выручка по категориям

Задание

pandas:

events[events['event_type']=='purchase'] \
    .merge(products, on='product_id') \
    .groupby('category')['amount'] \
    .agg(['sum','count','mean'])

Контекст: Вы аналитик данных, который переходит с pandas на SQL. Руководитель продукта попросил отчёт по категориям товаров: сколько выручки приносит каждая категория, сколько там сделок и какой средний чек — это нужно для планёрки по бюджету на следующий квартал. Считаются только завершённые покупки (event_type = 'purchase') — просмотры и клики выручки не дают и только исказят цифры.

Техническое задание: Напишите SQL-запрос к таблицам events и products.

Свяжите таблицы по product_id. Оставьте только строки с event_type = 'purchase'. Сгруппируйте по категории товара.

Выведите:

  • category — категория товара
  • total_revenue — суммарная выручка, округлённая до 2 знаков
  • purchases — число покупок
  • avg_deal — средний чек, округлённый до 2 знаков

Отсортируйте по total_revenue по убыванию — самые прибыльные категории сверху.

Результат выполнения SQL-запроса
История твоих попыток решения
Показать эталонное решение задачи
ER-диаграмма таблиц базы данных
Ожидаемые колонки в правильном ответе
Появится после 3 неудачных попыток
Анализ плана выполнения запроса PostgreSQL

Результаты появятся здесь после выполнения запроса.