Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AVGfonction
La AVG fonction renvoie la moyenne (moyenne arithmétique) des valeurs des expressions d'entrée. La AVG fonction fonctionne avec des valeurs numériques et ignore NULL les valeurs.
Syntaxe
AVG ( [ DISTINCT | ALL ] expression )
Arguments
- expression
-
Colonne cible ou expression sur laquelle la fonction opère. L’expression est l’un des types de données suivants :
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
DOUBLE PRECISON
SUPER
- DISTINCT | ALL
-
Avec l'argumentDISTINCT, la fonction élimine toutes les valeurs dupliquées de l'expression spécifiée avant de calculer la moyenne. Avec l'argumentALL, la fonction conserve toutes les valeurs dupliquées de l'expression pour calculer la moyenne. ALLest la valeur par défaut.
Types de données
Les types d'arguments pris en charge par la AVG fonction sont SMALLINT INTEGERBIGINT,NUMERIC,DECIMAL,REAL, DOUBLEPRECISION, etSUPER.
Les types de retour pris en charge par la AVG fonction sont les suivants :
-
BIGINTpour tout argument de type entier
-
DOUBLEPRECISIONpour un argument à virgule flottante
Renvoie le même type de données que l’expression pour tout autre type d’argument.
La précision par défaut pour le résultat d'une AVG fonction avec un DECIMAL argument NUMERIC ou est de 38. L’échelle du résultat est identique à celle de l’argument. Par exemple, une colonne AVG d'une colonne DEC (5,2) renvoie un type de données DEC (38,2).
Exemples
Trouvez la quantité moyenne vendue par transaction dans le SALES tableau :
select avg(qtysold)from sales; avg ----- 2 (1 row)
Recherchez le prix total moyen répertorié dans toutes les listes :
select avg(numtickets*priceperticket) as avg_total_price from listing; avg_total_price ----------------- 3034.41 (1 row)
Recherchez le prix moyen payé, regroupé par mois par ordre décroissant :
select avg(pricepaid) as avg_price, month from sales, date where sales.dateid = date.dateid group by month order by avg_price desc; avg_price | month -----------+------- 659.34 | MAR 655.06 | APR 645.82 | JAN 643.10 | MAY 642.72 | JUN 642.37 | SEP 640.72 | OCT 640.57 | DEC 635.34 | JUL 635.24 | FEB 634.24 | NOV 632.78 | AUG (12 rows)