DBAtlas · Atlas d'exploitation des bases de données

ORA-00979: not a GROUP BY expression (n'est pas une expression GROUP BY)

Oracle

Que signifie cette erreur ?

Une colonne non agrégée a été utilisée dans la liste SELECT avec une fonction d'agrégation (SUM, COUNT, etc.), mais la colonne n'a pas été ajoutée à la clause GROUP BY. Oracle ne sait pas comment regrouper cette colonne.

Cause

Colonne présente dans le SELECT mais pas dans le GROUP BY ; expressions hors fonctions d'agrégation absentes de la liste GROUP BY ; incohérence dans HAVING ou dans les expressions du select.

Comment la corriger

Ajoutez toutes les colonnes non agrégées à la liste GROUP BY : SELECT department, COUNT(*) FROM employee GROUP BY department; Vous pouvez aussi encapsuler cette colonne dans une fonction d'agrégation (MAX, MIN), ou repenser le regroupement avec une fonction analytique (OVER()).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur