В stock_moves — журнал движений товара: приход на склад — положительный qty, отгрузка — отрицательный. Отдельной таблицы остатков нет.
Для SKU 1001 и каждого склада, где по нему были движения, верните остаток на конец каждого дня с 1 по 5 ноября 2025 года: warehouse, day (date), stock. Остаток включает все движения до конца этого дня, в том числе октябрьские. В днях без движений остаток переносится. Порядок — по warehouse, day.
В работе: Восстановление истории остатков, когда хранится только журнал операций склада.
Таблицы
stock_moves — одна строка — одно движение
| Колонка | Тип | Что значит |
|---|---|---|
move_id | int | ключ |
warehouse | text | склад |
sku | int | товар |
moved_at | timestamp | время |
qty | int | + приход, − отгрузка |
Пример: данные
stock_moves · 7 строк
| move_id | warehouse | sku | moved_at | qty |
|---|---|---|---|---|
| 1 | Хоругвино | 1001 | 2025-10-28T08:00:00 | 120 |
| 2 | Хоругвино | 1001 | 2025-11-01T10:00:00 | -15 |
| 3 | Хоругвино | 1001 | 2025-11-01T18:00:00 | -7 |
| 4 | Хоругвино | 1001 | 2025-11-03T09:00:00 | 50 |
| 5 | Казань | 1001 | 2025-11-02T07:00:00 | 40 |
| 6 | Казань | 1001 | 2025-11-04T16:00:00 | -12 |
| 7 | Казань | 2002 | 2025-11-02T07:00:00 | 500 |
Ожидаемый ответ
| warehouse | day | stock |
|---|---|---|
| Казань | 2025-11-01 | 0 |
| Казань | 2025-11-02 | 40 |
| Казань | 2025-11-03 | 40 |
| Казань | 2025-11-04 | 28 |
| Казань | 2025-11-05 | 28 |
| Хоругвино | 2025-11-01 | 98 |
| Хоругвино | 2025-11-02 | 98 |
| Хоругвино | 2025-11-03 | 148 |
| Хоругвино | 2025-11-04 | 148 |
| Хоругвино | 2025-11-05 | 148 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
warehouse, day, stock
Источник: на данных Ozon: склады и движения товара. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.