MySQL GROEP BY Verklaring
Die MySQL GROUP BY-verklaring
Die GROUP BY
stelling groepeer rye wat dieselfde waardes het in opsommingsrye, soos "vind die aantal kliënte in elke land".
Die GROUP BY
stelling word dikwels gebruik met totale funksies ( COUNT()
,
MAX()
,
MIN()
, SUM()
,
AVG()
) om die resultaat-stel deur een of meer kolomme te groepeer.
GROEP DEUR Sintaksis
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
Demo databasis
Hieronder is 'n keuse uit die "Klante"-tabel in die Noordewind-voorbeelddatabasis:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
MySQL GROEP DEUR Voorbeelde
Die volgende SQL-stelling lys die aantal kliënte in elke land:
Voorbeeld
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
Die volgende SQL-stelling lys die aantal kliënte in elke land, hoog na laag gesorteer:
Voorbeeld
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
Demo databasis
Hieronder is 'n keuse uit die "Bestellings"-tabel in die Noordewind-voorbeelddatabasis:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 1996-07-04 | 3 |
10249 | 81 | 6 | 1996-07-05 | 1 |
10250 | 34 | 4 | 1996-07-08 | 2 |
En 'n keuse uit die "Versender"-tabel:
ShipperID | ShipperName |
---|---|
1 | Speedy Express |
2 | United Package |
3 | Federal Shipping |
GROEP DEUR Met JOIN Voorbeeld
Die volgende SQL-stelling lys die aantal bestellings wat deur elke versender gestuur is:
Voorbeeld
SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM
Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;