ORA-00979: not a GROUP BY expression (kein GROUP-BY-Ausdruck)
OracleWas 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.
Weitere Einträge zu dieser Datenbank
- ORA-01400cannot insert NULL into (column) (NULL kann nicht in die Spalte eingefügt werden)
- ORA-02291integrity constraint violated - parent key not found (Integritäts-Constraint verletzt: Elternschlüssel nicht gefunden)
- ORA-02292integrity constraint violated - child record found (Integritäts-Constraint verletzt: Kinddatensatz gefunden)
- ORA-00918column ambiguously defined (Spalte mehrdeutig definiert)
- ORA-06550line/column PLS-... PL/SQL compilation error (PL/SQL-Kompilierfehler)
- ORA-04068existing state of packages has been discarded (bestehender Package-Zustand wurde verworfen)
- ORA-01427single-row subquery returns more than one row (einzeilige Unterabfrage liefert mehr als eine Zeile)