Sdílet prostřednictvím


Agregační funkce – průměr

platí pro:SQL Server

Vrátí průměr posloupnosti čísel.

Syntax

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

Argumenty

$arg
Posloupnost atomických hodnot, jejichž průměr se vypočítá.

Poznámky

Všechny typy atomizovaných hodnot, které jsou předány avg() musí být podtyp přesně jednoho ze tří předdefinovaných číselných základních typů nebo xdt:untypedAtomic. Nesmí se jednat o směs. Hodnoty typu xdt:untypedAtomic jsou považovány za xs:double. Výsledek avg() obdrží základní typ předaných typů, například xs:double v případě xdt:untypedAtomic.

Pokud je vstup staticky prázdný, je implicitně prázdný a vyvolá se statická chyba.

Funkce avg() vrátí průměr vypočítaných čísel. Například:

sum($arg) div count($arg)

Pokud je $arg prázdná sekvence, vrátí se prázdná sekvence.

Pokud xdt:untypedAtomic hodnotu nelze přetypovat na xs:double, hodnota je ignorována ve vstupní sekvenci $arg.

Ve všech ostatních případech vrátí funkce statickou chybu.

Příklady

Toto téma obsahuje příklady XQuery pro instance XML, které jsou uloženy v různých xml sloupce typu v databázi AdventureWorks.

A. Pomocí funkce avg() XQuery vyhledáte umístění pracovních center ve výrobním procesu, ve kterém jsou pracovní hodiny větší než průměr pro všechna umístění pracovních center.

Dotaz zadaný v minimální funkci (XQuery) můžete přepsat tak, aby používal funkci avg().

Omezení implementace

Toto jsou omezení:

  • Funkce avg() mapuje všechna celá čísla na xs:decimal.

  • Funkce avg() pro hodnoty typu xs:duration není podporována.

  • Sekvence, které kombinují typy napříč hranicemi základního typu, se nepodporují.

Viz také

funkce XQuery proti datového typu XML