Heim  >  Artikel  >  Datenbank  >  MySQL gruppiert mehrere Spalten

MySQL gruppiert mehrere Spalten

(*-*)浩
(*-*)浩Original
2019-05-17 18:53:332949Durchsuche

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.

MySQL gruppiert mehrere Spalten

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!

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