Maison > base de données > tutoriel mysql > Comment la clause GROUP BY de SQL fonctionne-t-elle avec plusieurs colonnes ?

Comment la clause GROUP BY de SQL fonctionne-t-elle avec plusieurs colonnes ?

DDD
Libérer: 2025-01-22 05:16:08
original
622 Les gens l'ont consulté

How Does SQL's GROUP BY Clause Work with Multiple Columns?

SQL GROUP BY avec plusieurs colonnes : une explication détaillée

La clause SQL GROUP BY regroupe efficacement les lignes partageant des valeurs communes, permettant ainsi les calculs de fonctions d'agrégation sur ces groupes. Bien que le regroupement sur une seule colonne soit simple, le regroupement sur plusieurs colonnes ajoute une couche de complexité et de puissance.

Compréhension GROUP BY x, y

La syntaxe GROUP BY x, y regroupe les lignes où les deux colonnes x et y ont des valeurs identiques. Les fonctions d'agrégation de votre requête sont ensuite calculées pour chaque combinaison distincte de valeurs x et y.

Exemple illustratif

Examinons le tableau Subject_Selection, qui suit la fréquentation des étudiants selon les matières et les semestres :

Subject Semester Attendee
ITB001 1 John
ITB001 1 Bob
ITB001 1 Mickey
ITB001 2 Jenny
ITB001 2 James
MKB114 1 John
MKB114 1 Erica

Regroupement par sujet uniquement

La requête :

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

Produit :

Subject Count
ITB001 5
MKB114 2

Ceci résume la fréquentation totale par matière.

Regroupement par matière et semestre

Maintenant, considérons cette requête :

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

Cela donne :

Subject Semester Count
ITB001 1 3
ITB001 2 2
MKB114 1 2

Cela fournit une vue plus granulaire, montrant le nombre de présences pour chaque matière et combinaison de semestre. Remarquez comment les résultats sont désormais regroupés selon les paires uniques de sujet et de semestre. Cela démontre la puissance de l'utilisation de plusieurs colonnes dans la clause GROUP BY pour obtenir une agrégation de données plus raffinée.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal