Ajout d'une ligne SUM dans une requête SQL COUNT groupée
Dans une requête SQL, il est souvent nécessaire de regrouper les lignes en fonction d'un certain critère et compter le nombre d’occurrences dans chaque groupe. À cette fin, on peut utiliser la fonction COUNT. Cependant, il peut y avoir des cas où vous souhaitez également afficher le nombre total de tous les groupes combinés.
Considérez le tableau suivant contenant deux champs, ID et Nom :
ID | Name |
---|---|
1 | Alpha |
2 | Beta |
3 | Beta |
4 | Beta |
5 | Charlie |
6 | Charlie |
Nous voulons pour regrouper ces lignes par leur nom et compter le nombre d'occurrences pour chaque groupe. De plus, nous souhaitons ajouter une ligne « SOMME » au bas du tableau, indiquant le nombre total de tous les groupes.
Pour y parvenir, nous pouvons utiliser la requête suivante :
SELECT name, COUNT(name) AS count, SUM(COUNT(name)) OVER() AS total_count FROM Table GROUP BY name
Décomposons la requête :
Le résultat de cette requête sera la suivante :
Name | Count | Total_Count |
---|---|---|
Alpha | 1 | 6 |
Beta | 3 | 6 |
Charlie | 2 | 6 |
SUM | 6 | NULL |
Comme vous pouvez le constater, la ligne "SOMME" a été ajoutée au bas du tableau, affichant le nombre total de tous les groupes, qui dans ce cas est 6.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!