Partilhar via


approx_percentile função agregar

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

Devolve o percentil aproximado do dentro do expr grupo.

Sintaxe

approx_percentile ( [ALL | DISTINCT] expr, percentile [, accuracy] ) [ FILTER ( WHERE cond ) ]

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

Argumentos

  • expr: Uma expressão numérica.
  • percentile: Um literal numérico entre 0 e 1 ou uma matriz literal de valores numéricos, cada um entre 0 e 1.
  • accuracy: Um INTEGER literal maior que 0. Se a precisão for omitida, ela será definida como 10000.
  • cond: Uma expressão booleana opcional filtrando as linhas usadas para agregação.

Devoluções

A função de agregação retorna a expressão que é o menor valor no grupo ordenado (classificado do menor para o maior) de tal forma que não mais do que de valores é menor que percentile expr o valor ou igual a esse valor.

Se percentile for uma matriz, approx_percentile retorna a matriz de percentil aproximada de expr at percentile. O accuracy parâmetro controla a precisão de aproximação ao custo da memória. Um maior valor de precisão produz melhor precisão, 1.0/accuracy é o erro relativo da aproximação. Esta função é sinónimo de percentile_approx função agregada.

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

Exemplos

> SELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);
 [1,1,0]

> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 6

> SELECT approx_percentile(DISTINCT col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 7