Maison >base de données >tutoriel mysql >Comment calculer le nombre total de données groupées en SQL ?

Comment calculer le nombre total de données groupées en SQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-15 04:18:09113parcourir

How to Calculate the Total Count of Grouped Data in SQL?

Calcul de la SOMME des comptes groupés en SQL

Dans une table où les données sont regroupées par un champ spécifique, tel que le nom, cela peut être utile pour calculer le nombre total dans tous les groupes. Ceci peut être réalisé à l'aide de la fonction SUM et des fonctions window.

Pour implémenter cela, considérez la requête SQL suivante :

SELECT name, COUNT(name) AS count, SUM(COUNT(name)) OVER() AS total_count
FROM Table
GROUP BY name;
  • SELECT : Cette clause spécifie les colonnes à récupérer dans la table résultante. Dans ce cas, elle sélectionne la colonne 'name', la colonne 'COUNT(name)' et une colonne nommée 'total_count'.
  • COUNT(name) : Cette fonction compte le nombre d'occurrences de la colonne « nom » pour chaque nom distinct. Il renvoie une colonne avec le nombre pour chaque ligne.
  • SUM(COUNT(name)) OVER() : Cette expression utilise la fonction SUM avec une fonction de fenêtre pour calculer la somme des Valeurs « COUNT(name) » dans tous les groupes. La clause OVER() spécifie la fenêtre de lignes à additionner. Dans ce cas, il s'agit de la table entière, elle calcule donc la somme des comptes pour toutes les lignes.
  • FROM Table : Cette clause spécifie la table à partir de laquelle récupérer les données.
  • GROUP BY name : Cette clause regroupe les lignes du tableau par la colonne « nom ». Cela garantit que le décompte est effectué pour chaque nom distinct.

Le résultat de cette requête inclura une nouvelle colonne nommée « total_count », qui contient la somme des décomptes pour tous les groupes. Cela fournit un moyen rapide et facile de calculer le nombre total d'enregistrements dans le tableau.

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!

Déclaration:
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