Compartilhar via


Função de agregação percentile_approx

Aplica-se a:marca de seleção positiva Databricks SQL marca de seleção positiva Databricks Runtime

Retorna o percentil aproximado de expr dentro do grupo. Essa função é um sinônimo da função de agregação approx_percentile.

Sintaxe

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

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

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 literal INTEGER maior que 0. Se a precisão for omitida, ela será definida como 10000.
  • cond: uma expressão booliana opcional que filtra as linhas usadas para agregação.

Retornos

A função de agregação retorna a expressão que é o menor valor no grupo ordenado (classificado do menor para o maior), de modo que não mais que percentile de expr valores seja menor ou igual a esse valor. Se percentile for um percentile_approx de matriz, retornará a matriz percentil aproximada de expr no percentil especificado.

O parâmetro accuracy controla a precisão da aproximação no custo da memória. O valor mais alto de precisão gera uma melhor precisão, 1.0/accuracy é o erro relativo da aproximação.

Se DISTINCT for especificado, a função só vai operar em um conjunto exclusivo de valores expr.

Exemplos

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

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

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