Агрегатные функции — 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 не поддерживается.
не поддерживаются последовательности, в которых смешиваются типы на основе разных базовых типов;