Heim >Datenbank >MySQL-Tutorial >Wie funktioniert die SQL-Funktion „GROUP BY' mit mehreren Spalten?

Wie funktioniert die SQL-Funktion „GROUP BY' mit mehreren Spalten?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-22 05:27:11367Durchsuche

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

SQLs GROUP BY-Klausel: Umgang mit mehreren Spalten

Die SQL-Klausel GROUP BY aggregiert Zeilen in einer Tabelle basierend auf angegebenen Spalten. Lassen Sie uns untersuchen, wie es mit einzelnen und mehreren Spalten funktioniert.

Einspaltige Gruppierung (GROUP BY x)

GROUP BY x gruppiert Zeilen mit demselben Wert in Spalte „x“. Alle Zeilen mit identischen „x“-Werten werden als eine einzelne Gruppe behandelt.

Mehrspaltige Gruppierung (GROUP BY x, y)

Als Erweiterung GROUP BY x, y werden Zeilen basierend auf übereinstimmenden Werten in sowohl den Spalten „x“ als auch „y“ gruppiert. Zeilen müssen identische Werte für sowohl 'x' als auch 'y' haben, um in derselben Gruppe zu sein.

Beispiel: Facheinschreibung

Bedenken Sie die Subject_Selection Tabelle zur Nachverfolgung der Einschreibung von Studierenden in das Fach:

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

Nur ​​nach Betreff gruppieren

Die Abfrage SELECT Subject, COUNT(*) FROM Subject_Selection GROUP BY Subject gruppiert nach Subject:

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

Hier wird die Gesamteinschreibung für jedes Fach angezeigt.

Gruppierung nach Fach und Semester

Die Abfrage SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, Semester gruppiert nach Subject und Semester:

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

Dadurch werden die Einschreibungszahlen für jedes Fach pro Semester angezeigt, was eine detailliertere Ansicht ermöglicht. Der Hauptunterschied besteht in der zusätzlichen Detailebene, die durch die Aufnahme von Semester in die GROUP BY-Klausel bereitgestellt wird.

Das obige ist der detaillierte Inhalt vonWie funktioniert die SQL-Funktion „GROUP BY' mit mehreren Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn