Maison >base de données >tutoriel mysql >Comment puis-je compter et regrouper des données simultanément dans une seule instruction SQL ?

Comment puis-je compter et regrouper des données simultanément dans une seule instruction SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-19 00:07:08665parcourir

How Can I Count and Group Data Simultaneously in a Single SQL Statement?

Combiner COUNT et GROUP BY pour une agrégation efficace des données

SQL fournit un mécanisme puissant pour effectuer à la fois des opérations de comptage et de regroupement au sein d'une seule instruction. Ceci est particulièrement utile lorsque vous devez déterminer la fréquence de différentes valeurs au sein d’un ensemble de données. Par exemple, calculer le nombre d'utilisateurs résidant dans différentes villes.

La clé est d'utiliser la fonction d'agrégation COUNT en conjonction avec la clause GROUP BY. Voici comment y parvenir :

<code class="language-sql">SELECT town, COUNT(*) AS UserCount
FROM user
GROUP BY town;</code>

Cette requête compte les occurrences de chaque town valeur unique. La clause GROUP BY garantit que les décomptes sont regroupés selon la commune, ce qui donne lieu à un récapitulatif montrant chaque commune et le nombre d'utilisateurs correspondant. Utiliser COUNT(*) est plus efficace que COUNT(town) dans ce scénario.

Le résultat sera un tableau avec deux colonnes : town et UserCount, où UserCount représente le nombre total d'utilisateurs pour chaque ville. Par exemple, avec trois villes (Copenhague, New York, Athènes) et un total de 58 utilisateurs, le résultat pourrait ressembler à ceci :

Town UserCount
Copenhagen 20
New York 20
Athens 18

Vous pouvez également utiliser une variable pour stocker le nombre total d'utilisateurs et l'inclure dans l'ensemble de résultats :

<code class="language-sql">DECLARE @TotalUsers INT;
SELECT @TotalUsers = COUNT(*) FROM user;

SELECT DISTINCT town, @TotalUsers AS TotalUserCount
FROM user;</code>

Cette approche calcule le nombre total d'utilisateurs, puis affiche ce total à côté de chaque ville dans la sortie. Notez que cette méthode répétera le nombre total d'utilisateurs pour chaque ville. La première méthode est généralement préférée pour des raisons de clarté et d’efficacité lorsqu’il faut des décomptes groupés.

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