approx_percentile
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve el percentil aproximado del valor expr
del grupo.
Sintaxis
approx_percentile ( [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 literalINTEGER
mayor que 0. Si se omite la precisión, se establece en 10000.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 percentil (percentile
) de valores expr
sea menor que el valor o igual que ese valor.
Si percentile
es una matriz, approx_percentile
devuelve la matriz de percentil aproximada de expr
en percentile
.
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.
Esta función es un sinónimo de la función de agregado percentile_approx.
Si se especifica DISTINCT
, la función solo afecta a un conjunto de valores expr
único.
Ejemplos
> 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