Как найти N-й процентиль с помощью SQLite?
-
13-09-2019 - |
Вопрос
Я хотел бы найти N-й процентиль.
например:таблица:htwt;столбцы:имя, пол, рост, вес
Результат:
| gender | 90% height | 90% weight |
| male | 190 | 90 |
| female | 180 | 80 |
Решение
sqlite не силен в аналитической обработке, но если ваши данные не очень большие, вы можете попробовать эмулировать процентиль с помощью ORDER BY
, LIMIT 1
и рассчитанный OFFSET
.Обратите внимание , что OFFSET
основан на нуле, поэтому вам нужно скорректировать его на единицу.
SELECT
height AS 'male 90% height'
FROM table
WHERE gender='male'
ORDER BY height ASC
LIMIT 1
OFFSET (SELECT
COUNT(*)
FROM table
WHERE gender='male') * 9 / 10 - 1;
Не связан с StackOverflow