SQLTutorial.nl
GROUP BY
Met de GROUP BY functie is het mogelijk dubbele gegevens in een tabel samen te voegen, groeperen.
SELECT (Kolomnaam)
FROM Tabelnaam
ORDER BY Kolomnaam
FROM Tabelnaam
ORDER BY Kolomnaam
Voorbeeld
De "Orders" tabel ziet er als volgt uit:
| OrderNr | Klantnaam | OrderPrijs |
|---|---|---|
| 1 | Henk Janssen | € 23,20 |
| 2 | Mieke Sterk | € 2,30 |
| 3 | Sjoerd Vermeulen | € 12,93 |
| 4 | Mieke Sterk | € 54,92 |
| 5 | Henk Janssen | € 6,12 |
| 6 | Mieke Sterk | € 9,60 |
In onderstaand voorbeeld worden enkel alle klantnamen opgevraagd uit de orders tabel. Met groep by wordt ervoor gezorg dat er geen dubbele namen getoond worden.
SELECT (Klantnaam)
FROM Orders
ORDER BY Klantnaam
FROM Orders
ORDER BY Klantnaam
| Klantnaam |
|---|
| Henk Janssen |
| Mieke Sterk |
| Sjoerd Vermeulen |
De group by functie is vooral erg handig in combinatie met een functie waarin een berekening wil uitvoeren. In onderstaande query wordt van de order tabel de klantnaam en de totaal OrderPrijs getoond. Voor de berekening wordt de SUM() functie gebruikt.
SELECT (Klantnaam),SUM(OrderPrijs) AS 'Totaal prijs'
FROM Orders
ORDER BY Klantnaam
FROM Orders
ORDER BY Klantnaam
| Klantnaam | Totaal prijs |
|---|---|
| Henk Janssen | € 29,32 |
| Mieke Sterk | € 66,82 |
| Sjoerd Vermeulen | € 12,93 |