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 имеет значение falsespark.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