Mit Hilfe des Statements GROUP BY lassen sich Zeilen einer Tabelle gruppieren. Das bedeutet Zeilen, die in den Inhalte aller angegebenen Spalten identisch sind, werden zu einer einzigen Zeile zusammengefasst:
|
1 |
SELECT * FROM tabelle GROUP BY spalte1, spalte2 |
Über beliebige Spalten können Aggregationsfunktionen ausgeführt werden. Dies macht vor allen Dingen für die Spalten Sinn, die nicht in dem GROUP BY-Statement eingeschlossen sind.
Mit AVG() lässt sich der Durchschnittswert berechnen:
|
1 |
SELECT spalte1, spalte2, AVG(spalte3) FROM tabelle GROUP BY spalte1, spalte2 |
Ebenso lässt sich das Minimum mit MIN() berechnen:
|
1 |
SELECT spalte1, spalte2, MIN(spalte3) FROM tabelle GROUP BY spalte1, spalte2 |
Oder das Maximum mit MAX():
|
1 |
SELECT spalte1, spalte2, MAX(spalte3) FROM tabelle GROUP BY spalte1, spalte2 |
Auch Summieren der Werte ist möglich. Verwendet wird SUM()
|
1 |
SELECT spalte1, spalte2, SUM(spalte3) FROM tabelle GROUP BY spalte1, spalte2 |
Mit COUNT() lässt sich die Anzahl der zusammengefassten Zeilen zählen:
|
1 |
SELECT spalte1, spalte2, COUNT(*) FROM tabelle GROUP BY spalte1, spalte2 |
Mit COUNT(DISTINCT ...) lassen sich die voneinander unterschiedlichen Zeilen zählen. Ein GROUP BY-Statement wird hier nicht angegeben:
|
1 |
SELECT COUNT(DISTINCT spalte1, spalte2) FROM tabelle |
