SQL SUM() Fonction
La fonction SQL SUM()
La fonction SUM() renvoie la somme totale d'une colonne numérique.
Exemple
Renvoie la somme de tous les champs Quantity dans la table OrderDetails :
SELECT SUM(Quantity)
FROM OrderDetails;
Try it Yourself »
Syntaxe
SELECT SUM(column_name)
FROM table_name
WHERE condition;
Base de données de démonstration
Vous trouverez ci-dessous une sélection de la table OrderDetails utilisée dans les exemples :
| OrderDetailID | OrderID | ProductID | Quantity |
|---|---|---|---|
| 1 | 10248 | 11 | 12 |
| 2 | 10248 | 42 | 10 |
| 3 | 10248 | 72 | 5 |
| 4 | 10249 | 14 | 9 |
| 5 | 10249 | 51 | 40 |
Ajouter une clause Where
Vous pouvez ajouter une clause WHERE pour spécifier des conditions :
Exemple
Renvoyer le nombre de commandes effectuées pour le produit avec ProductID 11:
SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProdictId = 11;
Try it Yourself »
Utiliser un alias
Donnez un nom à la colonne résumée en utilisant le mot-clé AS.
Exemple
Nommez la colonne "total":
SELECT SUM(Quantity) AS total
FROM OrderDetails;
Try it Yourself »
Utiliser SUM() avec GROUP BY
Ici, nous utilisons la fonction SUM() et la clause GROUP BY pour renvoyer la Quantity pour chaque OrderID dans la table OrderDetails :
Exemple
SELECT OrderID, SUM(Quantity) AS [Total Quantity]
FROM OrderDetails
GROUP BY OrderID;
Try it Yourself »
Vous en apprendrez davantage sur la clause GROUP BY plus tard dans ce tutoriel.
SUM() avec une expression
Le paramètre à l'intérieur de la fonction SUM() peut également être une expression.
Si nous supposons que chaque produit dans la colonne OrderDetails coûte 10 dollars, nous pouvons trouver le total des gains en dollars en multipliant chaque quantité par 10 :
Exemple
Use an expression inside the SUM() function:
SELECT SUM(Quantity * 10)
FROM OrderDetails;
Try it Yourself »
Nous pouvons également joindre la table OrderDetails à la table Products pour trouver le montant réel, au lieu de supposer qu'il s'agit de 10 dollars :
Exemple
Join OrderDetails with Products, and use SUM() to find the total amount:
SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;
Try it Yourself »
Vous en apprendrez davantage sur les jointures plus tard dans ce tutoriel.