Ozon: 90-й perсентиль времени доставки

Лёгкая Медиана и перцентили Ozon

Условие задачи

Таблица deliveries(order_id, delivery_hours INTEGER). Найдите p90 (90-й перcентиль) времени доставки — значение, ниже которого 90% доставок. Используйте NTILE(10). Выведите одну строку: p90_hours.

Схема данных

CREATE TABLE deliveries (order_id INTEGER PRIMARY KEY, delivery_hours INTEGER);

Темы

percentile NTILE window

Подсказки

Что проверяет эта задача

Задача «Ozon: 90-й perсентиль времени доставки» учит решать задачи по теме «Медиана и перцентили» так, как это спрашивают на собеседовании аналитика данных. Такие задачи встречаются на собеседованиях в Ozon и других IT-компаниях. Уровень лёгкий — это база, которую должен уверенно держать каждый аналитик.

Как подступиться к решению

Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).

Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи