Compartir a través de


percentile_approx (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. 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 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 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