Compartilhar via


Função de agregação percentile

Aplica-se a:marca de seleção positiva SQL do Databricks marca de seleção positiva 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 exprvalues.

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]