Udostępnij za pośrednictwem


Funkcje agregujące — średnia

Dotyczy:programu SQL Server

Zwraca średnią sekwencji liczb.

Składnia

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

Argumenty

$arg
Sekwencja wartości niepodzielnych, których średnia jest obliczana.

Uwagi

Wszystkie typy wartości atomizowane, które są przekazywane do avg() muszą być podtypem dokładnie jednego z trzech wbudowanych typów podstawowych liczbowych lub xdt:untypedAtomic. Nie mogą być mieszaniną. Wartości typu xdt:untypedAtomic są traktowane jako xs:double. Wynik avg() otrzymuje podstawowy typ przekazanych typów, takich jak xs:double w przypadku xdt:untypedAtomic.

Jeśli dane wejściowe są statycznie puste, jest to puste i zgłaszany jest błąd statyczny.

Funkcja avg() zwraca średnią obliczonych liczb. Na przykład:

sum($arg) div count($arg)

Jeśli $arg jest pustą sekwencją, zwracana jest pusta sekwencja.

Jeśli nie można rzutować wartości xdt:untypedAtomic na wartość xs:double, wartość jest pomijana w sekwencji danych wejściowych, $arg.

We wszystkich innych przypadkach funkcja zwraca błąd statyczny.

Przykłady

Ten temat zawiera przykłady zapytań XQuery dla wystąpień XML przechowywanych w różnych kolumnach xml typów w bazie danych AdventureWorks.

A. Użycie funkcji avg() XQuery w celu znalezienia lokalizacji centrów pracy w procesie produkcyjnym, w którym godziny pracy są większe niż średnia dla wszystkich lokalizacji centrów pracy.

Możesz ponownie napisać zapytanie podane w min funkcji (XQuery), aby użyć funkcji avg().

Ograniczenia implementacji

Są to ograniczenia:

  • Funkcja avg() mapuje wszystkie liczby całkowite na xs:decimal.

  • Funkcja avg() wartości typu xs:duration nie jest obsługiwana.

  • Sekwencje, które mieszają typy między granicami typu podstawowego, nie są obsługiwane.

Zobacz też

funkcji XQuery względem typu danych XML