Problème :
Vous souhaitez additionner les valeurs d'une colonne.
Exemple :
Notre base de données a une table nommée game
avec des données dans les colonnes suivantes :id
, player
, et score
.
identifiant | joueur | score |
---|---|---|
1 | Jean | 134 |
2 | Tom | 146 |
3 | Lucie | 20 |
4 | Tom | 118 |
5 | Tom | 102 |
6 | Lucie | 90 |
7 | Lucie | 34 |
8 | Jean | 122 |
Trouvons le score total obtenu par tous les joueurs.
Solution :
SELECT SUM(score) as sum_score FROM game;
Voici le résultat :
sum_score |
---|
766 |
Discussion :
La fonction d'agrégation SUM
est idéal pour calculer la somme des valeurs d'une colonne. Cette fonction est utilisée dans un SELECT
et prend le nom de la colonne dont vous voulez additionner les valeurs.
Si vous ne spécifiez aucune autre colonne dans le SELECT
déclaration, la somme sera calculée pour tous les enregistrements de la table. Dans notre exemple, nous sélectionnons uniquement la somme et aucune autre colonne. Par conséquent, la requête de notre exemple renvoie la somme de tous les scores (766).
Bien sûr, nous pouvons également calculer le score total obtenu par chaque joueur en utilisant une clause GROUP BY et en sélectionnant le nom de chaque joueur dans le tableau, à côté de la somme :
Solution :
SELECT player, SUM(score) as sum_score FROM game GROUP BY player;
Cette requête renvoie le score total de chaque joueur :
joueur | score |
---|---|
Jean | 256 |
Tom | 366 |
Lucie | 144 |