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>
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>
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!