Percentile-распределение длительности сессий
Средняя
median
Условие задачи
Таблица `sessions(id, duration_sec)`. Найди p50 (медиана), p90, p95, p99 длительности сессий. Колонки: `p50`, `p90`, `p95`, `p99`. Только 1 строка в ответе. Используй `PERCENTILE_CONT` через интерполяцию (округли каждый до целого).
Схема данных
CREATE TABLE sessions (id INTEGER PRIMARY KEY, duration_sec INTEGER);
Темы
median percentile window distribution
Подсказки
- Перцентиль для уже отсортированных данных: rank каждой записи / (n-1) даёт позицию [0..1].
- p50 = первая запись где position ≥ 0.5.
- SQLite не имеет встроенного `PERCENTILE_CONT`, используем `ROW_NUMBER` + min(CASE).
- В PostgreSQL: `PERCENTILE_CONT(0.95) WITHIN GROUP (ORDER BY duration_sec)`.
Решить в интерактивной SQL-песочнице →
← Все SQL-задачи