Comptez le nombre d'enregistrements après GROUP BY
Lorsque vous utilisez une instruction SQL contenant à la fois les clauses SELECT et GROUP BY, vous devez déterminer le nombre total d'enregistrements après le regroupement. Cet article vise à fournir des conseils sur la manière d'atteindre cet objectif directement dans les requêtes SQL.
Par exemple, nous avons une table nommée user, qui contient une colonne town. Le but est d'obtenir une liste des différentes villes et le nombre total d'utilisateurs pour chaque ville. Pour ce faire, nous pouvons utiliser la fonction d'agrégation COUNT avec la clause GROUP BY :
<code class="language-sql">SELECT `town`, COUNT(*) AS `total_users` FROM `user` GROUP BY `town`;</code>
En utilisant la fonction COUNT(*), nous comptons le nombre d'occurrences de chaque ville une fois le regroupement terminé. Le tableau généré fournira le résultat requis, qui inclut les noms des villes et leur nombre d'utilisateurs respectifs.
Il convient de noter que les fonctions d'agrégation telles que COUNT, MAX et COUNT DISTINCT peuvent être utilisées dans l'instruction GROUP BY pour manipuler davantage les données.
De plus, une variable peut être déclarée pour stocker le nombre total d'utilisateurs, puis ajoutée aux instructions SELECT suivantes pour afficher la valeur :
<code class="language-sql">DECLARE @numOfUsers INT; SET @numOfUsers = (SELECT COUNT(*) FROM `user`); SELECT DISTINCT `town`, @numOfUsers AS `total_users` FROM `user`;</code>
Cette approche nous permet de spécifier explicitement le nombre total d'utilisateurs ainsi que le nom de la ville dans le résultat final.
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!