percentile_approx
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve el percentil aproximado del valor expr
del grupo. Esta función es un sinónimo de la función de agregado approx_percentile.
Sintaxis
percentile_approx ( [ALL | DISTINCT ] expr, percentile [, accuracy] ) [FILTER ( WHERE cond ) ]
Esta función también se puede invocar como una función de ventana mediante la cláusula OVER
.
Argumentos
expr
: expresión numérica.percentile
: literal numérico entre 0 y 1 o una matriz literal de valores numéricos, cada uno entre 0 y 1.accuracy
: un literal INTEGER mayor que 0. Si se omite la precisión, se establece en10000
.cond
: una expresión booleana opcional que filtra las filas usadas para la agregación.
Devoluciones
La función de agregado devuelve la expresión que sea el valor más pequeño del grupo ordenado (de menor a mayor), de modo que no más de un percentile
de expr
valores sea menor que el valor o igual que este.
Si percentile
es un percentile_approx de matriz, devuelve la matriz de percentil aproximada de expr
en el percentil especificado.
El parámetro accuracy
controla la precisión de aproximación a costa de usar memoria.
Un valor mayor de precisión produce una mayor precisión; 1.0/accuracy
es el error relativo de la aproximación.
Si se especifica DISTINCT
, la función solo afecta a un conjunto de valores expr
único.
Ejemplos
> 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