mean
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve la media calculada de los valores de un grupo. Esta función es un sinónimo para la función de agregado avg.
Sintaxis
mean ( [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
: una expresión que se evalúa como un número.cond
: una expresión booleana opcional que filtra las filas usadas para la agregación.
Devoluciones
El tipo de resultado se calcula como para los argumentos:
DECIMAL(p, s)
: el tipo de resultado esDECIMAL(p + 4, s + 4)
. Si se alcanza la precisión máxima de DECIMAL, el aumento de escala se limitará para evitar la pérdida de dígitos significativos.- 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 es NULL.
Si se especifica DISTINCT
, la media se calcula después de quitar los duplicados.
Advertencia
En Databricks Runtime, si spark.sql.ansi.enabled es false
, un desbordamiento devuelve NULL
en lugar de un error.
Ejemplos
> SELECT mean(col) FROM VALUES (1), (2), (3) AS tab(col);
2.0
> SELECT mean(DISTINCT col) FROM VALUES (1), (1), (2), (NULL) AS tab(col);
1.5
> SELECT mean(col) FROM VALUES (1), (2), (NULL) AS tab(col);
1.5