Group By

0

Die SQL GROUP BY Anweisung

Die GROUP BY Anweisung gruppiert Zeilen mit denselben Werten in Zusammenfassungszeilen, z. B. „Finde die Anzahl der Kunden in jedem Land“.

Die GROUP BY Anweisung wird häufig mit Aggregatfunktionen (COUNT(), MAX(), MIN(), SUM(), AVG()) verwendet, um den Ergebnissatz nach einer oder mehreren Spalten zu gruppieren.

GROUP BY Syntax

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Demo Datenbank

Nachfolgend sehen Sie eine Auswahl aus der Tabelle „Kunden“ in der Beispieldatenbank Northwind:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1
Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4
Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

SQL GROUP BY Beispiele

Die folgende SQL Anweisung listet die Anzahl der Kunden in jedem Land auf:

Beispiel

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

Die folgende SQL Anweisung listet die Anzahl der Kunden in jedem Land auf, sortiert von hoch nach niedrig:

Beispiel

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

Demo Datenbank

Nachfolgend sehen Sie eine Auswahl aus der Tabelle „Orders“ in der Beispieldatenbank Northwind:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489051996-07-043
102498161996-07-051
102503441996-07-082

Und eine Auswahl aus der Tabelle „Versender“:

ShipperIDShipperName
1Speedy Express
2United Package
3Federal Shipping

GROUP BY mit JOIN Beispiel

Die folgende SQL Anweisung listet die Anzahl der von jedem Versender versendeten Bestellungen auf:

Beispiel

SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;
Nach oben scrollen