Dela via


Aggregerade funktioner – genomsnitt

gäller för:SQL Server

Returnerar medelvärdet för en sekvens med tal.

Syntax

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

Argument

$arg
Sekvensen med atomiska värden vars medelvärde beräknas.

Anmärkningar

Alla typer av atomiserade värden som skickas till avg() måste vara en undertyp av exakt en av de tre inbyggda numeriska bastyperna eller xdt:untypedAtomic. De kan inte vara en blandning. Värden av typen xdt:untypedAtomic behandlas som xs:double. Resultatet av avg() tar emot bastypen för de skickade typerna, till exempel xs:double när det gäller xdt:untypedAtomic.

Om indata är statiskt tomma är tom underförstått och ett statiskt fel utlöses.

Funktionen avg() returnerar medelvärdet av de beräknade talen. Till exempel:

summa($arg) div count($arg)

Om $arg är en tom sekvens returneras den tomma sekvensen.

Om ett xdt:untypedAtomic-värde inte kan omvandlas till xs:double ignoreras värdet i indatasekvensen, $arg.

I alla andra fall returnerar funktionen ett statiskt fel.

Exempel

Det här avsnittet innehåller XQuery-exempel mot XML-instanser som lagras i olika XML- typkolumner i AdventureWorks-databasen.

A. Använd funktionen avg() XQuery för att hitta platser för arbetsställen i tillverkningsprocessen där arbetstimmarna är större än genomsnittet för alla platser i arbetsstället.

Du kan skriva om frågan i funktionen min (XQuery) för att använda funktionen avg().

Implementeringsbegränsningar

Det här är begränsningarna:

  • Funktionen avg() mappar alla heltal till xs:decimal.

  • Funktionen avg() för värden av typen xs:duration stöds inte.

  • Sekvenser som blandar typer över bastypsgränser stöds inte.

Se även

XQuery Functions mot xml-datatypen