Ich verstehe den Punkt von GROUP BY x
Aber wie funktioniert
GROUP BY x, y
und was bedeutet das?
sql
group-by
multiple-columns
l - '' '' '-' '' '' '' '' '' '' '
quelle
quelle
Antworten:
Group By X
bedeutet , alle diejenigen mit dem gleichen Wert für X in eine Gruppe zu setzen .Group By X, Y
bedeutet , alle diejenigen mit den gleichen Werten für X und Y in eine Gruppe einzuteilen .Nehmen wir zur Veranschaulichung anhand eines Beispiels an, wir haben die folgende Tabelle, die damit zu tun hat, wer welches Fach an einer Universität besucht:
Wenn Sie eine
group by
Spalte nur für das Thema verwenden; sagen:Sie erhalten so etwas wie:
... weil es 5 Einträge für ITB001 und 2 für MKB114 gibt
Wenn wir zu
group by
zwei Spalten wären:wir würden das bekommen:
Wenn wir nach zwei Spalten gruppieren, heißt es: " Gruppieren Sie sie so, dass sich alle mit demselben Fach und Semester in derselben Gruppe befinden, und berechnen Sie dann alle Aggregatfunktionen (Anzahl, Summe, Durchschnitt usw.). ) für jede dieser Gruppen " . In diesem Beispiel wird dies durch die Tatsache demonstriert, dass, wenn wir sie zählen, drei Personen ITB001 in Semester 1 und zwei Personen in Semester 2 ausführen. Beide Personen, die MKB114 ausführen, befinden sich in Semester 1, also gibt es keine Zeile für Semester 2 (keine Daten passen in die Gruppe "MKB114, Semester 2")
Hoffentlich macht das Sinn.
quelle
GROUP BY A,B
das dasselbe ist wieGROUP BY B,A
?GROUP BY a, b
und gibt,GROUP BY a AND b
da der zweite nur gruppierte Elemente mit genau dem gleichen Inhalt und ohne "Untergruppen" auflistet. In diesem Fall wäre die Ausgabe dieselbe wie die erste.Die
GROUP BY
Klausel wird in Verbindung mit den Aggregatfunktionen verwendet, um die Ergebnismenge nach einer oder mehreren Spalten zu gruppieren. z.B:Denken Sie an diese Reihenfolge:
Sie können alle diese Funktionen verwenden, wenn Sie Aggregatfunktionen verwenden. In dieser Reihenfolge müssen sie festgelegt werden, da sonst eine Fehlermeldung angezeigt werden kann.
Aggregatfunktionen sind:
quelle