Heim >Datenbank >MySQL-Tutorial >So gruppieren Sie mehrere Felder mithilfe von „Gruppieren nach' in MySql

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

黄舟
黄舟Original
2018-05-25 15:31:147043Durchsuche

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!

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