Oracle/PLSQL: mensaje de error ORA-00937

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: mensaje de error ORA-00937

Aprenda por qué y cómo resolver los mensajes de error ORA-00937 en Oracle.

describir

Cuando encuentra un error ORA-00937, aparece el siguiente mensaje de error:

  • ORA-00937: ni una sola función de grupo

razón

Intentó ejecutar una declaración SELECT que contiene una función GROUP BY (es decir: función MIN, función MAX, función SUM, función COUNT), pero falta la cláusula GROUP BY.

resolver

Las opciones para resolver este error de Oracle incluyen:

Opción 1

Vuelva a escribir la declaración SELECT para que las columnas o expresiones enumeradas en la lista SELECT también se encuentren en la cláusula GROUP BY.

Opcion 2

Elimine las funciones GROUP BY (es decir: función MIN, función MAX, función SUM, función COUNT) de la instrucción SELECT.

Opción #3

Elimina expresiones de la lista SELECT que no están en la cláusula GROUP BY.

Por ejemplo, si intenta ejecutar la siguiente instrucción SELECT:

SELECT department, MIN(salary) AS "Lowest salary"
FROM employees;

Recibirá el siguiente mensaje de error:

Puede corregir esto incluyendo el departamento en la cláusula GROUP BY de la siguiente manera:

SELECT department, MIN(salary) AS "Lowest salary"
FROM employees
GROUP BY department;