Поделиться через


Агрегатные функции — avg

Область применения: SQL Server

Возвращает среднее значение для последовательности чисел.

Синтаксис

  
fn:avg($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?  

Аргументы

$arg
Последовательность атомарных значений, для которых вычисляется среднее значение.

Замечания

Все типы атомизованных значений, передаваемых в avg(), должны быть подтипом ровно одного из трех встроенных базовых типов или xdt:untypedAtomic. Они не могут быть смешанными. Значения типа xdt:untypedAtomic приводятся к типу xs:double. Результат avg() получает базовый тип переданных типов, например xs:double в случае xdt:untypedAtomic.

Если вход статически пуст, подразумевается пустое значение, и формируется статическая ошибка.

Функция avg() возвращает среднее значение вычисляемых чисел. Например:

sum( $arg ) div count( $arg )

Если $arg является пустой последовательностью, возвращается пустая последовательность.

Если значение xdt:untypedAtomic не может быть приведение к xs:double, значение игнорируется в входной последовательности, $arg.

Во всех прочих случаях функция возвращает статическую ошибку.

Примеры

В этом разделе приведены примеры XQuery для экземпляров XML, хранящихся в различных столбцах типа XML в базе данных AdventureWorks.

А. Использование функции XQuery avg() для поиска на производстве расположения цехов, время работы в которых превышает среднее значение для всех цехов.

Вы можете перезаписать запрос, предоставленный в функции min (XQuery), чтобы использовать функцию avg().

Ограничения реализации

Существуют следующие ограничения:

  • Функция avg() сопоставляет все целые числа с xs:decimal.

  • Функция avg() для значений типа xs:duration не поддерживается.

  • не поддерживаются последовательности, в которых смешиваются типы на основе разных базовых типов;

См. также

Функции XQuery для типа данных XML