集計関数 - avg
適用対象:SQL Server
一連の数値の平均値を返します。
構文
fn:avg($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?
引数
$arg
平均が計算されるアトミック値のシーケンス。
解説
avg() に渡されるアトミック化された値のすべての型は、3 つの組み込みの数値基本型のいずれか、または xdt:untypedAtomic のサブタイプである必要があります。 これらの型を混在させることはできません。 xdt:untypedAtomic 型の値は、xs:double として扱われます。 avg() の結果は、xdt:untypedAtomic の場合は xs:double など、渡された型の基本型を受け取ります。
入力が静的に空の場合、空は暗黙的に指定され、静的エラーが発生します。
avg() 関数は、計算された数値の平均を返します。 次に例を示します。
sum($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() 関数はサポートされていません。
基本データ型の境界を超えて複数の型が混在するシーケンスはサポートされません。