median
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Devuelve el valor de mediana, que se ha calculado a partir de los valores de un grupo.
Sintaxis
median ( [ALL | DISTINCT] expr ) [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 que se evalúa como un valor numérico o intervalo.cond
: una expresión booleana opcional que filtra las filas usadas para la agregación.
Devoluciones
A continuación se explica cómo se calculan los tipos de resultados:
- Intervalo de año-mes: el resultado es un valor
INTERVAL YEAR TO MONTH
. - Intervalo de día-hora: el resultado es un valor
INTERVAL DAY TO SECOND
. - En todos los demás casos, el resultado es un valor DOUBLE.
Los valores NULL dentro del grupo se omiten. Si un grupo está vacío o solo consta de valores null, el resultado será NULL
.
Si se especifica DISTINCT
, se quitarán los duplicados y se calculará la mediana.
Esta función es un sinónimo de percentile_cont(0.5) WITHIN GROUP (ORDER BY expr).
Ejemplos
> SELECT median(col) FROM VALUES (1), (2), (2), (3), (4), (NULL) AS tab(col);
2.0
> SELECT median(DISTINCT col) FROM VALUES (1), (2), (2), (3), (4), (NULL) AS tab(col);
2.5
> SELECT median(col) FROM VALUES (INTERVAL '1' YEAR), (INTERVAL '2' YEAR) AS tab(col);
1-6