SQL AVG() Fonction
La fonction SQL AVG()
La fonction AVG() renvoie la valeur moyenne d'une colonne numérique.
Exemple
Trouvez le prix moyen de tous les produits :
SELECT AVG(Price)
FROM Products;
Try it Yourself »
Remarque : les valeurs NULL sont ignorées.
Syntaxe
SELECT AVG(column_name)
FROM table_name
WHERE condition;
Base de données de démonstration
Vous trouverez ci-dessous une sélection de la table Products utilisée dans les exemples :
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Ajouter une clause Where
Vous pouvez ajouter une clause WHERE pour spécifier des conditions :
Exemple
Renvoie le prix moyen des produits de la catégorie 1 :
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
Try it Yourself »
Utiliser un alias
Donnez un nom à la colonne AVG en utilisant le mot-clé AS.
Exemple
Nommez la colonne "average price":
SELECT AVG(Price) AS [average price]
FROM Products;
Try it Yourself »
Supérieur à la moyenne
Pour lister tous les enregistrements dont le prix est supérieur à la moyenne, nous pouvons utiliser la fonction AVG() dans une sous-requête :
Exemple
Retourner tous les produits dont le prix est supérieur au prix moyen :
SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);
Try it Yourself »
Utiliser AVG() avec GROUP BY
Ici, nous utilisons la fonction AVG() et la clause GROUP BY pour renvoyer le prix moyen de chaque catégorie dans la table Produits :
Exemple
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
Try it Yourself »
Vous en apprendrez davantage sur la clause GROUP BY plus tard dans ce tutoriel.