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.