Maison > base de données > tutoriel mysql > Comment ajouter une ligne SUM à un résultat de requête SQL COUNT groupé ?

Comment ajouter une ligne SUM à un résultat de requête SQL COUNT groupé ?

Susan Sarandon
Libérer: 2024-12-18 16:13:10
original
358 Les gens l'ont consulté

How to Add a SUM Row to a Grouped COUNT SQL Query Result?

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
Copier après la connexion

Décomposons la requête :

  • L'instruction SELECT récupère le nom et le nombre de chaque groupe.
  • Le La fonction COUNT(name) compte le nombre d'occurrences pour chaque nom de groupe.
  • L'expression SUM(COUNT(name)) OVER() calcule le nombre total de tous les groupes. La fonction OVER() garantit que ce calcul est effectué sur toutes les lignes du tableau.
  • L'instruction GROUP BY regroupe les lignes par champ de nom.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal