Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Daten gruppieren - GROUP BY Klausel

Definition

Mit der GROUP BY Klausel, lassen sich die Zeilen einer Tabelle zu Gruppen zusammenfügen. Danach kann man diese Gruppen einzeln auswerten. Am einfachsten wird dies mit einem Beispiel verdeutlicht.

Wir haben folgende Tabelle gegeben:

Angenommen, wir wollen die Summe der Gehälter jeder Abteilung absteigend berechnen. Dies geht wie folgt:

SELECT Abteilungsnummer, SUM(Gehalt)
FROM Mitarbeiter
GROUP BY Abteilungsnummer
ORDER BY AVG(Gehalt) DESC

Die Datenbank gruppiert jetzt jede Abteilung nach ihrer Nummer und berechnet daraus die Summe der Gehälter der Abteilung.

Richtlinien

  • Spalten die in der GROUP BY Klausel enthalten sind, dürfen auch im SELECT angegeben werdem (müssen aber nicht)
  • Mit WHERE können Zeilen vor Anwendung der Gruppenfunktion gefiltert werden
  • Im GROUP BY sind KEINE Aliasnamen erlaubt
  • Innerhalt einer Gruppierung kann weiter gruppiert werden (Gruppen innerhalb von Gruppen)
  • Gruppenfunktionen dürfen auch im ORDER BY verwendet werden.