Condividi tramite


Funzioni di aggregazione - avg

Si applica a:SQL Server

Restituisce la media di una sequenza di numeri.

Sintassi

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

Argomenti

$arg
Sequenza di valori atomici per la quale viene calcolata la media.

Osservazioni:

Tutti i tipi dei valori atomizzati passati a avg() devono essere un sottotipo di esattamente uno dei tre tipi di base numerici predefiniti o xdt:untypedAtomic. e non possono essere una combinazione di tipi. I valori del tipo xdt:untypedAtomic vengono considerati come xs:double. Il risultato di avg() riceve il tipo di base dei tipi passati, ad esempio xs:double nel caso di xdt:untypedAtomic.

Se l'input è una sequenza vuota calcolata in modo statico, la sequenza vuota è implicita e viene restituito un errore statico.

La funzione avg() restituisce la media dei numeri calcolati. Ad esempio:

sum($arg) div count($arg)

Se $arg è una sequenza vuota, viene restituita la sequenza vuota.

Se non è possibile eseguire il cast di un valore xdt:untypedAtomic su xs:double, il valore viene ignorato nella sequenza di input $arg.

In tutti gli altri casi, la funzione restituisce un errore statico.

Esempi

In questo argomento vengono forniti esempi di XQuery su istanze XML archiviate in varie colonne di tipo xml nel database AdventureWorks.

R. Utilizzo della funzione XQuery avg() per trovare i centri di lavorazione del processo di produzione con ore di manodopera superiori alla media di tutti i centri.

È possibile riscrivere la query fornita nella funzione min (XQuery) per usare la funzione avg().

Limitazioni di implementazione

Limitazioni:

  • La funzione avg() esegue il mapping di tutti i numeri interi a xs:decimal.

  • La funzione avg() sui valori di tipo xs:duration non è supportata.

  • Non sono supportate le sequenze con combinazioni di tipi che non rispettano i limiti del tipo di base.

Vedi anche

Funzioni XQuery per il tipo di dati XML