ORA-00979: not a GROUP BY expression (no es una expresión GROUP BY)
Oracle¿Qué significa?
Se usó una columna no agregada en la lista SELECT junto con una función de agregación (SUM, COUNT, etc.), pero la columna no se añadió a la cláusula GROUP BY. Oracle no sabe cómo agrupar esa columna.
¿Por qué ocurre?
Una columna presente en el SELECT pero no en el GROUP BY; expresiones fuera de funciones de agregación que faltan en la lista GROUP BY; incoherencia en HAVING o en las expresiones del select.
Cómo solucionarlo
Añada todas las columnas no agregadas a la lista GROUP BY: SELECT department, COUNT(*) FROM employee GROUP BY department; Como alternativa, envuelva también esa columna en una función de agregación (MAX, MIN) o rediseñe la agrupación con una función analítica (OVER()).
Más entradas de este motor
- ORA-01400cannot insert NULL into (column) (no se puede insertar NULL en la columna)
- ORA-02291integrity constraint violated - parent key not found (violación de integridad: clave padre no encontrada)
- ORA-02292integrity constraint violated - child record found (violación de integridad: se encontró un registro hijo)
- ORA-00918column ambiguously defined (columna definida de forma ambigua)
- ORA-06550línea/columna PLS-... error de compilación PL/SQL
- ORA-04068existing state of packages has been discarded (se descartó el estado existente de los paquetes)
- ORA-01427single-row subquery returns more than one row (una subconsulta de una sola fila devuelve más de una fila)