Fonctions d’agrégation : avg

S’applique à :SQL Server

Retourne la moyenne d'une série de nombres.

Syntaxe

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

Arguments

$arg
Série de valeurs atomiques dont la moyenne est calculée.

Remarques

Tous les types des valeurs atomisées passées à avg() doivent être un sous-type d’exactement l’un des trois types de base numériques intégrés ou xdt:untypedAtomic. Ils ne peuvent pas être un mélange. Les valeurs de type xdt:untypedAtomic sont traitées comme valeurs xs:double. Le résultat de avg() reçoit le type de base du passé dans les types, tels que xs:double dans le cas de xdt:untypedAtomic.

Si l'entrée est vide (valeur empty) de façon statique, « empty » est alors implicite et une erreur statique est émise.

La fonction avg() retourne la moyenne des nombres calculés. Par exemple :

sum($arg) div count($arg)

Si $arg est une séquence vide, la séquence vide est retournée.

Si une valeur xdt:untypedAtomic ne peut pas être convertie en xs:double, la valeur est ignorée dans la séquence d’entrée , $arg.

Dans tous les autres cas, la fonction retourne une erreur statique.

Exemples

Cette rubrique fournit des exemples XQuery sur des instances XML stockées dans différentes colonnes de type xml dans la base de données AdventureWorks.

R. Utilisation de la fonction XQuery avg() pour rechercher les ateliers dans le processus de fabrication, dans lesquels le nombre d'heures de travail est supérieur à la moyenne de tous les ateliers.

Vous pouvez réécrire la requête fournie dans la fonction min (XQuery) pour utiliser la fonction avg().

Limites de mise en œuvre

Les limitations suivantes s'appliquent :

  • La fonction avg() mappe tous les entiers à xs:decimal.

  • La fonction avg() sur les valeurs de type xs:duration n’est pas prise en charge.

  • Les séquences faisant intervenir plusieurs types dérivés de différents types de base ne sont pas prises en charge.

Voir aussi

Fonctions XQuery impliquant le type de données xml