Heim >Datenbank >MySQL-Tutorial >So gruppieren Sie mehrere Felder mithilfe von „Gruppieren nach' in MySql
In diesem Artikel wird hauptsächlich die Implementierungsmethode von MySQL Group By zum Gruppieren mehrerer Felder vorgestellt. Freunde in Not können sich auf
Verwandte MySQL-Video-Tutorial-Empfehlungen beziehen: „MySQL-Tutorial 》
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. Beispielsweise gibt es eine Kursauswahltabelle für Studenten 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 möchten zählen, wie viele Studenten sich für jeden Kurs angemeldet haben. Wenden Sie die folgende SQL an:
SELECT Subject, Count(*) FROM Subject_Selection GROUP BY Subject
um folgende Ergebnisse zu erhalten:
Subject Count ------------------------------ ITB001 5 MKB114 2
Weil in der Tabelle vermerkt ist, dass 5 Studierende ITB001 und 2 Studierende 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 , fügen Sie Datensätze mit denselben Feldwerten für Fach und Semester in dieselbe Gruppe ein und wenden Sie dann Aggregationsfunktionen (COUNT, SUM, AVG usw.) auf die Daten in jeder Gruppe an.
Das erhaltene Ergebnis ist:
Subject Semester Count ------------------------------ ITB001 1 3 ITB001 2 2 MKB114 1 2
Aus den Aufzeichnungen 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 wählte im zweiten Semester ITB001,
und zwei Studierende wählten im ersten Semester MKB114, und im zweiten Semester wählte niemand MKB114.
Als weiteres Beispiel gibt es eine Bestelltabelle, die alle bezahlten Bestellungen aufzeichnet
Tabelle: Bestellung
Product Buyer Spending --------------------------------- PD001 Todd 12.00 PD001 Todd 12.00 PD001 Todd 12.00 PD001 Lily 12.00 PD001 Lily 12.00 PD002 Todd 20.00 PD002 Todd 20.00
Jetzt wollen wir jeden Benutzer in jeder Kategorie zählen. Wie Wurde insgesamt viel Geld für die Ware ausgegeben? Führen Sie die folgende SQL aus
SELECT Product,Buyer, SUM(Spending) FROM `Order` GROUP BY Product, Buyer
und erhalten Sie die folgenden Ergebnisse:
Product Buyer SUM ------------------------------ PD001 Todd 36.00 PD001 Lily 24.00 PD002 Todd 40.00
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,
GROUP BY X, Y bedeutet, alle Datensätze mit demselben X-Feldwert und Y-Feldwert in einer Gruppe zusammenzufassen.
Das obige ist der detaillierte Inhalt vonSo gruppieren Sie mehrere Felder mithilfe von „Gruppieren nach' in MySql. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!