聚合函数 - avg

适用于:SQL Server

返回一组数值的平均值。

语法

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

自变量

$arg
一组要计算平均值的原子值。

备注

传递给 avg () 的所有原子化值类型都必须是三个内置数值基类型之一或 xdt:untypedAtomic 的子类型。 不能使用不同的数值类型。 类型为 xdt:untypedAtomic 的值视为 xs:double。 avg () 的结果接收传入类型的 基类型,例如 xdt:untypedAtomic 时为 xs:double。

如果输入在静态上为空,则暗示为空,并且会引发静态错误。

avg () 函数返回计算的数字的平均值。 例如:

($arg) div count ($arg )

如果 $arg 为空序列,则返回空序列。

如果 xdt:untypedAtomic 值无法转换为 xs:double,则输入序列中将忽略该值 ,$arg

在所有其他情况下,函数均返回静态错误。

示例

本主题针对存储在 AdventureWorks 数据库中各种 xml 类型列中的 XML 实例提供 XQuery 示例。

A. 使用 avg() XQuery 函数来查找生产过程中工时大于所有生产车间的工时平均值的生产车间。

可以重写 min 函数 (XQuery) 中提供的查询,以使用 avg () 函数。

实现限制

限制如下:

  • avg () 函数将所有整数映射到 xs:decimal。

  • 不支持对类型为 xs:duration 的值使用 avg () 函数。

  • 不支持跨基类型边界混合类型的序列。

另请参阅

针对 xml 数据类型的 XQuery 函数