Heim > Datenbank > MySQL-Tutorial > Hauptteil

So gruppieren Sie mehrere Felder mithilfe von „Gruppieren nach' in MySql

黄舟
Freigeben: 2019-03-02 16:05:21
Original
7020 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

um folgende Ergebnisse zu erhalten:

Subject  Count
------------------------------
ITB001   5
MKB114   2
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

und erhalten Sie die folgenden Ergebnisse:

Product  Buyer   SUM
------------------------------
PD001   Todd   36.00
PD001   Lily   24.00
PD002   Todd   40.00
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!