Partilhar via


percentile função de agregação

Aplica-se a:Assinalado Sim Databricks SQL Assinalado Sim Databricks Runtime

Devolve o valor exato do percentil de expr no percentage especificado num grupo.

Sintaxe

percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]

Esta função também pode ser invocada como uma função de janela usando a cláusula OVER.

Argumentos

  • expr: Uma expressão que é avaliada como numérica.
  • percentage: Uma expressão numérica entre 0 e 1 ou uma de expressões numéricas, cada uma ARRAY entre 0 e 1.
  • frequency: Um literal numérico inteiro opcional superior a 0.
  • cond: Uma expressão booleana opcional filtrando as linhas usadas para agregação.

Devoluções

DOUBLE se percentage é numérico, ou um ARRAY<DOUBLE> se percentage é um ARRAY.

A 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 que aparece 10 vezes na janela com uma frequência de 1. A frequência padrão é 1.

Se DISTINCT for especificado, a função opera apenas em um conjunto exclusivo de valores de expr.

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]