mean
агрегатная функция
Область применения: Databricks SQL Databricks Runtime
Возвращает среднее значение, вычисленное на основе значений группы. Эта функция является синонимом агрегатной функции avg.
Синтаксис
mean ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как оконную функцию с помощью OVER
предложения .
Аргументы
expr
: выражение, результатом которого является числовое значение.cond
: необязательное логическое выражение, фильтрующее строки, используемые для агрегирования.
Возвращает
Тип результата вычисляется как для аргументов:
DECIMAL(p, s)
: тип результата — .DECIMAL(p + 4, s + 4)
Если достигнута максимальная точность для DECIMAL, увеличение масштаба ограничено, чтобы избежать потери значительных цифр.- Интервал года и месяца: результатом
INTERVAL YEAR TO MONTH
является . - интервал дня и времени: результатом
INTERVAL DAY TO SECOND
является . - Во всех остальных случаях результатом является DOUBLE.
Значения NULL в группе игнорируются. Если группа пуста или состоит только из значений NULL, результатом является NULL.
Если DISTINCT
задано значение , среднее вычисляется после удаления дубликатов.
Предупреждение
Если в Databricks Runtime имеет значение false
spark.sql.ansi.enabled , вместо ошибки возвращается NULL
переполнение.
Примеры
> 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