approx_percentile
função agregar
Aplica-se a: Databricks SQL Databricks Runtime
Devolve o percentil aproximado do expr
dentro do 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 com 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 literal INTEGER superior a 0. Se a precisão for omitida, está definida como 10000.cond
: uma expressão booleana opcional que filtra as linhas utilizadas para agregação.
Devoluções
A função agregada devolve a expressão que é o valor mais pequeno no grupo ordenado (ordenado do mínimo para o maior) de expr
modo a que não seja menor do que percentile
o valor ou igual a esse valor.
Se percentile
for uma matriz, approx_percentile
devolve a matriz de percentil aproximada de expr
em percentile
.
O accuracy
parâmetro controla a precisão da aproximação ao custo da memória.
Um valor mais elevado de precisão gera uma maior precisão, 1.0/accuracy
é o erro relativo da aproximação.
Esta função é um sinónimo para percentile_approx função de agregação.
Se DISTINCT
for especificada, a função funciona apenas num 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