IT-Lexikon › Datenbanken › GROUP BY

GROUP BY

Datenbanken Svenska → Aktualisiert: 2026-09-09

Die SQL-Klausel, die Zeilen mit gleichem Wert zu einer Zeile pro Gruppe zusammenfasst, sodass Aggregatfunktionen wie COUNT, SUM und AVG pro Gruppe statt über die gesamte Tabelle berechnet werden.

Die Regel, an der Anfänger scheitern: Jede Spalte in SELECT muss entweder Teil der Gruppierung oder ein Aggregat sein. MySQL erlaubte lange auch anderes und lieferte dann einen beliebigen Wert zurück — das hat mehr stille Fehler verursacht als fast alles andere. WHERE filtert vor der Gruppierung, HAVING danach — deshalb kann nur HAVING gegen ein Aggregat vergleichen. Die Datenbank wählt anschließend je nach Größe und Indizes zwischen Hash-Aggregation und Sortierung. Die Erweiterungen GROUPING SETS, ROLLUP und CUBE liefern mehrere Gruppierungsebenen in einem Durchlauf — die eigentliche Grundlage von OLAP-Reports. Fensterfunktionen machen etwas anderes: Sie aggregieren, ohne die Zeilen zusammenzufassen.

← Zurück zum Lexikon