Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit der SQL Server GROUP BY
– Klausel Zeilen in Gruppen nach einer oder mehreren Spalten anordnen.
Einführung in SQL Server GROUP BY Klausel
Mit der Klausel GROUP BY
können Sie die Zeilen einer Abfrage in Gruppen anordnen. Die Gruppen werden durch die Spalten bestimmt, die Sie in der Klausel GROUP BY
angeben.,
Das Folgende veranschaulicht die Syntax der GROUP BY
– Klausel:
Code language: SQL (Structured Query Language) (sql)
In dieser Abfrage erzeugte die GROUP BY
– Klausel eine Gruppe für jede Kombination der Werte in den Spalten, die in der GROUP BY
– Klausel aufgeführt sind.
Betrachten Sie folgendes Beispiel:
In diesem Beispiel haben wir die Kunden-ID und das bestellte Jahr der Kunden mit der Kunden-ID eins und zwei abgerufen.,
Wie Sie der Ausgabe deutlich entnehmen können, hat der Kunde mit der ID one 2016 eine Bestellung und 2018 zwei Bestellungen aufgegeben. Der Kunde mit id two hat 2017 zwei Bestellungen und 2018 eine Bestellung aufgegeben.
Fügen wir der Abfrage eine GROUP BY
– Klausel hinzu, um den Effekt zu sehen:
Die GROUP BY
– Klausel ordnete die ersten drei Zeilen in zwei Gruppen und die drei Zeilen in die beiden anderen Gruppen mit den eindeutigen Kombinationen Kunden-ID und Auftragsjahr.,
Funktionell gesehen hat die GROUP BY
– Klausel in der obigen Abfrage das gleiche Ergebnis wie die folgende Abfrage erzeugt, die die DISTINCT
– Klausel verwendet:
SQL Server GROUP BY-Klausel und Aggregatfunktionen
In der Praxis wird die GROUP BY
– Klausel häufig mit Aggregatfunktionen zum Generieren von zusammenfassenden Berichten verwendet.
DieGROUP BY
– Klausel ordnet Zeilen in Gruppen an und eine Aggregatfunktion gibt die Zusammenfassung zurück (count, min, max, average, sum usw.,) für jede Gruppe.,
Die folgende Abfrage gibt beispielsweise die Anzahl der Bestellungen des Kunden nach Jahr zurück:
Wenn Sie auf eine Spalte oder einen Ausdruck verweisen möchten, der nicht in der Klausel GROUP BY
aufgeführt ist, müssen Sie diese Spalte eingabe einer Aggregatfunktion. Andernfalls erhalten Sie eine Fehlermeldung, da nicht garantiert wird, dass die Spalte oder der Ausdruck einen einzelnen Wert pro Gruppe zurückgibt., Die folgende Abfrage schlägt beispielsweise fehl:
Weitere GROUP BY-Klausel-Beispiele
Nehmen wir einige weitere Beispiele, um zu verstehen, wie die GROUP BY
– Klausel funktioniert.
Verwenden der GROUP BY Klausel mit der Funktion COUNT() Beispiel
Die folgende Abfrage gibt die Anzahl der Kunden in jeder Stadt zurück:
In diesem Beispiel gruppiert die Klausel GROUP BY
die Kunden nach Stadt und COUNT()
Funktion gibt die Anzahl der Kunden in jeder Stadt.,
In ähnlicher Weise gibt die folgende Abfrage die Anzahl der Kunden nach Bundesland und Stadt zurück.
Unter Verwendung der GROUP BY Klausel mit den Funktionen MIN und MAX Beispiel
Die folgende Anweisung gibt die minimalen und maximalen Listenpreise aller Produkte mit dem Modell 2018 nach Marke zurück:
In diesem Beispiel wird die Klausel WHERE
wie immer vor der Klausel GROUP BY
verarbeitet.,v>
Mit GROUP BY klausel mit SUM funktion beispiel
Siehe die folgenden order_items
Tabelle:
Die folgende Abfrage verwendet die Funktion SUM()
, um den Nettowert jeder Bestellung abzurufen:
In diesem Tutorial haben Sie gelernt, wie Sie den SQL Server verwenden GROUP BY
div > – Klausel zum Anordnen von Zeilen in Gruppen nach einer bestimmten Spaltenliste.,