DBAtlas · Atlas für Datenbankbetrieb

ORA-00979: not a GROUP BY expression (kein GROUP-BY-Ausdruck)

Oracle

Was bedeutet das?

In der SELECT-Liste wurde eine nicht aggregierte Spalte zusammen mit einer Aggregatfunktion (SUM, COUNT usw.) verwendet, die Spalte aber nicht in die GROUP-BY-Klausel aufgenommen. Oracle weiß nicht, wie diese Spalte gruppiert werden soll.

Ursache

Eine Spalte im SELECT, aber nicht im GROUP BY; Ausdrücke außerhalb von Aggregatfunktionen fehlen in der GROUP-BY-Liste; Inkonsistenz in HAVING oder in Select-Ausdrücken.

Lösung

Nimm alle nicht aggregierten Spalten in die GROUP-BY-Liste auf: SELECT department, COUNT(*) FROM employee GROUP BY department; Alternativ umschließe diese Spalte ebenfalls mit einer Aggregatfunktion (MAX, MIN) oder gestalte die Gruppierung mit einer analytischen Funktion (OVER()) neu.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank