В routes — регулярные рейсы между складами: из from_wh в to_wh за hours часов. Рейсы односторонние, в графе есть циклы (из Казани фуры возвращаются в Коледино).
Найдите все склады, куда можно доставить товар из Коледино не больше чем за 4 перегона. Для каждого верните warehouse, min_hops — наименьшее число перегонов и min_hours — наименьшее суммарное время среди путей до 4 перегонов (это может быть другой путь). Сам Коледино в ответ не включайте.
Порядок строк не важен.
В работе: Планирование перемещения остатков: с какого склада можно закрыть дефицит на другом и за сколько часов.
Таблицы
routes — рейсы между складами, ориентированный граф
| Колонка | Тип | Что значит |
|---|---|---|
from_wh | text | откуда |
to_wh | text | куда |
hours | int | время в пути, ч |
Пример: данные
routes · 11 строк
| from_wh | to_wh | hours |
|---|---|---|
| Коледино | Электросталь | 2 |
| Коледино | Казань | 14 |
| Электросталь | Казань | 11 |
| Казань | Екатеринбург | 16 |
| Екатеринбург | Новосибирск | 22 |
| Новосибирск | Хабаровск | 60 |
| Хабаровск | Владивосток | 12 |
| Коледино | Краснодар | 18 |
| Краснодар | Невинномысск | 4 |
| Невинномысск | Коледино | 20 |
| Казань | Коледино | 14 |
Ожидаемый ответ
| warehouse | min_hops | min_hours |
|---|---|---|
| Невинномысск | 2 | 22 |
| Краснодар | 1 | 18 |
| Электросталь | 1 | 2 |
| Казань | 1 | 13 |
| Хабаровск | 4 | 112 |
| Екатеринбург | 2 | 29 |
| Новосибирск | 3 | 51 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк не важен.
warehouse, min_hops, min_hours
Источник: на данных Wildberries: магистральная логистика между складами. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.