Pergunta

Eu gostaria de encontrar Nth percentil .

Por exemplo: tabela: HTWT; colunas: nome, sexo, altura, peso

resultado:

| gender | 90% height | 90% weight |
| male   |        190 |         90 |
| female |        180 |         80 |
Foi útil?

Solução

sqlite não é forte no processamento analítico, mas se os seus dados não é muito grande, você pode tentar imitar percentil com ORDER BY, LIMIT 1 e uma OFFSET calculado. Note-se que OFFSET é baseado em zero, então você precisa ajustá-lo a um.

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;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top