Bei täglichen Entwicklungsaufgaben verwenden wir häufig die GROUP BY-Gruppierung von MYSQL, um statistische Daten basierend auf Gruppenfeldern in der Datentabelle zu erhalten.
Zum Beispiel gibt es eine studentische Kursauswahltabelle mit folgendem Aufbau:
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
Wir wollen zählen, wie viele Studierende sich für jeden Kurs angemeldet haben , und das folgende SQL wird verwendet
SELECT Subject, Count(*) FROM Subject_Selection GROUP BY Subject
Die folgenden Ergebnisse wurden erhalten:
Subject Count ------------------------------ ITB001 5 MKB114 2
Weil in der Tabelle vermerkt ist, dass 5 Schüler ITB001 und 2 Schüler MKB114 gewählt haben.
Der Grund für dieses Ergebnis ist:
GROUP BY X bedeutet, alle Datensätze mit demselben X-Feldwert in einer Gruppe zusammenzufassen.
Was ist mit GROUP BY X, Y?
GRUPPE NACH X, Y bedeutet, alle Datensätze mit demselben X-Feldwert und Y-Feldwert in einer Gruppe zusammenzufassen.
Wir werden dann darum bitten, zu zählen, wie viele Personen jedes Fach in jedem Semester wählen, und die folgende SQL verwenden:
SELECT Subject, Semester, Count(*) FROM Subject_Selection GROUP BY Subject, Semester
Die obige SQL bedeutet, die Daten in der Tabelle „Subject_Selection“ zu gruppieren mit denselben Feldwerten für Fach und Semester in dieselbe Gruppe einordnen und dann Aggregatfunktionen (COUNT, SUM, AVG usw.) auf die Daten in jeder Gruppe anwenden.
Das erhaltene Ergebnis ist:
Subject Semester Count ------------------------------ ITB001 1 3 ITB001 2 2 MKB114 1 2
Aus den Datensätzen in der Tabelle können wir ersehen, dass das Gruppierungsergebnis korrekt ist. 3 Studenten haben sich im ersten Semester für ITB001 entschieden und 2 Studenten haben sich für ITB001 entschieden Im ersten Semester habe ich mich für ITB001 entschieden,
zwei Studierende haben sich im ersten Semester für MKB114 entschieden und im zweiten Semester hat sich niemand für MKB114 entschieden.
Zusammenfassung:
Bei Verwendung von GROUP BY zum Gruppieren von Daten in einer Tabelle in MYSQL bedeutet
GROUP BY X, dass alle Datensätze mit demselben X-Feldwert in einer Gruppe zusammengefasst werden. Hier
GRUPPE NACH X, Y bedeutet, alle Datensätze mit demselben X-Feldwert und Y-Feldwert in einer Gruppe zusammenzufassen
Das obige ist der detaillierte Inhalt vonMySQL gruppiert mehrere Spalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!