Maison > base de données > tutoriel mysql > Comment compter les enregistrements après avoir regroupé des données avec SQL ?

Comment compter les enregistrements après avoir regroupé des données avec SQL ?

Mary-Kate Olsen
Libérer: 2025-01-18 23:52:09
original
909 Les gens l'ont consulté

How to Count Records After Grouping Data with SQL?

Statistiques du nombre d'enregistrements après regroupement SQL

Lorsque vous utilisez l'instruction GROUP BY avec la clause SELECT, vous pouvez utiliser une fonction d'agrégation pour compter le nombre d'enregistrements dans chaque groupe. Ceci est utile pour obtenir des statistiques récapitulatives, telles que le nombre total d'utilisateurs par ville.

Utilisez GROUP BY pour compter

Pour compter les enregistrements après le regroupement, utilisez la GROUP BYfonction d'agrégation dans la clause COUNT(*) :

<code class="language-sql">SELECT `town`, COUNT(*)
FROM `user`
GROUP BY `town`;</code>
Copier après la connexion

Cette requête renverra une liste de villes et le nombre total d'utilisateurs dans chaque ville.

Autres fonctions d'agrégation

En plus de COUNT, vous pouvez également utiliser d'autres fonctions d'agrégation avec GROUP BY, par exemple :

  • MAX : Renvoie la valeur maximale du champ dans chaque groupe.
  • MIN : Renvoie la valeur minimale du champ dans chaque groupe.
  • COUNT DISTINCT : renvoie le nombre de valeurs uniques pour le champ dans chaque groupe.

Exemple

Considérons un tableau nommé user qui contient une colonne nommée town. La requête suivante compte le nombre total d'utilisateurs dans chaque ville :

<code class="language-sql">SELECT `town`, COUNT(*) AS `total_users`
FROM `user`
GROUP BY `town`;</code>
Copier après la connexion

Cette requête produira les résultats suivants :

城镇 用户总数
哥本哈根 58
纽约 58
雅典 58

Utilisez des variables pour stocker le nombre total

Vous pouvez également déclarer une variable pour stocker le nombre total d'utilisateurs, puis choisir la valeur de cette variable :

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

SELECT DISTINCT `town`, @numOfUsers AS `total_users`
FROM `user`;</code>
Copier après la connexion

Cette approche offre une flexibilité lors de l'utilisation de totaux dans des calculs ou des opérations ultérieurs.

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