В playbacks — попытки посмотреть ролик в VK Видео. startup_ms — сколько миллисекунд прошло от нажатия до первого кадра; NULL, если ролик так и не запустился.
Для каждого региона, где не меньше трёх успешных запусков, верните region, started — число успешных запусков и p90_ms — 90-й перцентиль startup_ms с линейной интерполяцией (как percentile_cont), округлённый до целого. Незапустившиеся ролики в расчёт не берите. Порядок — по region.
В работе: Мониторинг CDN: в каком регионе у каждого десятого зрителя видео стартует дольше нормы.
Таблицы
playbacks — одна строка — одна попытка воспроизведения
| Колонка | Тип | Что значит |
|---|---|---|
play_id | int | ключ |
region | text | регион зрителя |
video_id | int | ролик |
startup_ms | int | до первого кадра, NULL — не запустился |
Пример: данные
playbacks · 12 строк
| play_id | region | video_id | startup_ms |
|---|---|---|---|
| 1 | Москва | 10 | 420 |
| 2 | Москва | 11 | 380 |
| 3 | Москва | 12 | 510 |
| 4 | Москва | 10 | 1460 |
| 5 | Москва | 13 | NULL |
| 6 | Новосибирск | 10 | 900 |
| 7 | Новосибирск | 14 | 1210 |
| 8 | Новосибирск | 15 | 2730 |
| 9 | Новосибирск | 16 | 640 |
| 10 | Новосибирск | 17 | NULL |
| 11 | Хабаровск | 10 | 1800 |
| 12 | Хабаровск | 11 | NULL |
Ожидаемый ответ
| region | started | p90_ms |
|---|---|---|
| Москва | 4 | 1175 |
| Новосибирск | 4 | 2274 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
region, started, p90_ms
Источник: наша задача на данных VK: время старта роликов в VK Видео. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.