Войти Регистрация
Data base

82. Выручка продавца по дням недели, включая пустые дни

Средняя

В orders — заказы покупателей у продавцов; is_canceled = true — заказ отменён и в выручку не идёт.

Для каждого продавца из sellers и каждого дня с 12 по 18 октября 2026 года включительно верните seller_id, day, revenue_rub — выручку за день (0, если заказов не было) и running_rub — нарастающий итог с начала недели.

У продавца ровно 7 строк. Порядок — по seller_id, затем day.

В работе: Недельный график продаж в кабинете продавца: без нулевых дней линия соединяет точки через провалы.

Таблицы

sellers — продавцы

КолонкаТипЧто значит
seller_idintключ
shop_nametextмагазин

orders — заказы

КолонкаТипЧто значит
order_idintключ
seller_idintпродавец
ordered_attimestampвремя заказа
amount_rubnumericсумма
is_canceledbooleanотменён

Пример: данные

sellers · 2 строки

seller_idshop_name
1Обувной двор
2Мир чехлов

orders · 6 строк

order_idseller_idordered_atamount_rubis_canceled
112026-10-12T10:00:002500False
212026-10-12T18:00:001200False
312026-10-14T23:59:00800False
412026-10-15T13:00:005000True
512026-10-18T12:00:003000False
612026-10-19T00:00:00900False

Ожидаемый ответ

seller_iddayrevenue_rubrunning_rub
12026-10-1237003700
12026-10-1303700
12026-10-148004500
12026-10-1504500
12026-10-1604500
12026-10-1704500
12026-10-1830007500
22026-10-1200
22026-10-1300
22026-10-1400
22026-10-1500
22026-10-1600
22026-10-1700
22026-10-1800
Как проверяем Ваш запрос выполняется в PostgreSQL 16 прямо в браузере на 4 наборах данных: пример выше и скрытые — с NULL, повторами и пустыми таблицами. Нужен один SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
seller_id, day, revenue_rub, running_rub
датыLEFT JOINнарастающий итогоконные функции

Источник: на данных Wildberries: заказы продавцов. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.