approx_percentile (función de agregado)

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí 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 literal INTEGER 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