В rides — заказы, которые водители приняли: status = completed или cancelled_by_driver.
Продукт проверяет гипотезу: после третьей отмены водитель часто уходит. Возьмите водителей, у которых отмен не меньше трёх. Водитель «ушёл», если после момента его третьей отмены у него нет ни одной завершённой поездки.
Верните одну строку: drivers — сколько водителей с тремя и более отменами, gone_drivers — сколько из них ушли, gone_pct — доля в процентах с одним знаком. Если таких водителей нет, доля пустая (NULL).
Третья отмена — третья по времени; при равном времени раньше идёт меньший ride_id.
В работе: Проверка гипотезы перед изменением правил штрафов за отмены.
Таблицы
rides — заказы, принятые водителями
| Колонка | Тип | Что значит |
|---|---|---|
ride_id | int | ключ |
driver_id | int | водитель |
status | text | completed / cancelled_by_driver |
created_at | timestamp | время заказа |
Пример: данные
rides · 11 строк
| ride_id | driver_id | status | created_at |
|---|---|---|---|
| 1 | 501 | completed | 2026-03-01T08:00:00 |
| 2 | 501 | cancelled_by_driver | 2026-03-01T09:00:00 |
| 3 | 501 | cancelled_by_driver | 2026-03-02T09:00:00 |
| 4 | 501 | cancelled_by_driver | 2026-03-03T09:00:00 |
| 5 | 502 | cancelled_by_driver | 2026-03-01T10:00:00 |
| 6 | 502 | cancelled_by_driver | 2026-03-01T11:00:00 |
| 7 | 502 | cancelled_by_driver | 2026-03-01T12:00:00 |
| 8 | 502 | completed | 2026-03-01T13:00:00 |
| 9 | 503 | cancelled_by_driver | 2026-03-04T07:00:00 |
| 10 | 503 | cancelled_by_driver | 2026-03-04T07:30:00 |
| 11 | 503 | completed | 2026-03-05T07:00:00 |
Ожидаемый ответ
| drivers | gone_drivers | gone_pct |
|---|---|---|
| 2 | 1 | 50 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк не важен.
drivers, gone_drivers, gone_pct
Источник: на данных такси: поездки и отмены водителей. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.