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

Comment la fonction « GROUP BY » de SQL fonctionne-t-elle avec plusieurs colonnes ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-22 05:27:11389parcourir

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

Clause GROUP BY de SQL : gestion de plusieurs colonnes

La clause SQL GROUP BY regroupe les lignes d'un tableau en fonction des colonnes spécifiées. Explorons comment cela fonctionne avec des colonnes simples et multiples.

Regroupement sur une seule colonne (GROUP BY x)

GROUP BY x regroupe les lignes partageant la même valeur dans la colonne 'x'. Toutes les lignes avec des valeurs « x » identiques sont traitées comme un seul groupe.

Regroupement multi-colonnes (GROUP BY x, y)

En étendant cela, GROUP BY x, y regroupe les lignes en fonction des valeurs correspondantes dans les les deux colonnes « x » et « y ». Les lignes doivent avoir des valeurs identiques pour que 'x' et 'y' soient dans le même groupe.

Exemple : inscription par sujet

Considérez le Subject_Selection tableau de suivi des inscriptions aux matières des étudiants :

<code>Table: Subject_Selection

+---------+----------+---------+
| Subject  | Semester | Attendee |
+---------+----------+---------+
| ITB001  | 1        | John     |
| ITB001  | 1        | Bob      |
| ITB001  | 1        | Mickey   |
| ITB001  | 2        | Jenny    |
| ITB001  | 2        | James    |
| MKB114  | 1        | John     |
| MKB114  | 1        | Erica    |
+---------+----------+---------+</code>

Regroupement par sujet uniquement

La requête SELECT Subject, COUNT(*) FROM Subject_Selection GROUP BY Subject regroupe par Subject :

<code>+---------+--------+
| Subject | Count  |
+---------+--------+
| ITB001  | 5      |
| MKB114  | 2      |
+---------+--------+</code>

Cela montre le nombre total d'inscriptions pour chaque matière.

Regroupement par matière et semestre

La requête SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, Semester regroupe par Subject et Semester :

<code>+---------+----------+--------+
| Subject | Semester | Count  |
+---------+----------+--------+
| ITB001  | 1        | 3      |
| ITB001  | 2        | 2      |
| MKB114  | 1        | 2      |
+---------+----------+--------+</code>

Cela fournit le nombre d'inscriptions pour chaque matière par semestre, offrant une vue plus granulaire. La principale différence réside dans le niveau de détail supplémentaire fourni en incluant Semester dans la clause GROUP BY.

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