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
Libérer: 2025-01-22 05:27:11
original
331 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

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