**Контекст:** Логистическая компания анализирует сроки доставки по регионам и типам транспорта, чтобы выявить узкие места и оптимизировать маршруты.
**Данные:**
[см. код в задании]
**Задание:**
1. Для каждой комбинации региона назначения и типа транспорта рассчитайте среднее время доставки в часах
2. Учитывайте только доставленные отправления (`status = 'delivered'` и `delivered_at IS NOT NULL`)
3. Выведите: регион назначения, тип транспорта, количество доставок, среднее и медианное время в часах
4. Отсортируйте по среднему времени доставки по убыванию
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE shipments (
id SERIAL PRIMARY KEY,
order_id INT NOT NULL,
origin_region VARCHAR(100) NOT NULL,
dest_region VARCHAR(100) NOT NULL,
transport_type VARCHAR(50) NOT NULL, -- 'truck', 'rail', 'air', 'sea'
dispatched_at TIMESTAMP NOT NULL,
delivered_at TIMESTAMP, -- NULL если ещё в пути
status VARCHAR(30) NOT NULL -- 'delivered', 'in_transit', 'lost'
);
AVG GROUP BY EXTRACT многомерная агрегация
Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: AVG, GROUP BY, EXTRACT, многомерная агрегация.
На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания