Função de agregação percentile
Aplica-se a: SQL do Databricks Runtime do Databricks
Retorna o valor exato do percentil de expr
na percentage
especificada em um grupo.
Sintaxe
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
Essa função também pode ser invocada como uma função window usando a cláusula OVER
.
Argumentos
expr
: uma expressão avaliada como um numérico.percentage
: uma expressão numérica entre 0 e 1 ou uma ARRAY de expressões numéricas, cada uma entre 0 e 1.frequency
: um literal de número integral opcional maior que 0.cond
: uma expressão booliana opcional que filtra as linhas usadas para agregação.
Retornos
DOUBLE se percentage
for numérico ou uma ARRAY de DOUBLE se percentage
for uma ARRAY.
Frequência descreve o número de vezes que expr
deve ser contado. Uma frequência de 10 para um valor específico é equivalente a esse valor aparecendo 10 vezes no window em uma frequência de 1.
A frequência padrão é 1.
Se DISTINCT
for especificado, a função operará somente em um set singular de expr
values.
Exemplos
> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
6.0
> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
3.0
> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
6.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
[2.5,7.5]