ORA-00979: group by 표현식이 아닙니다 (ORA-00979: not a group by expression)

'ORA-00979: group by 표현식이 아닙니다' (ORA-00979: not a group by expression) 오류가 발생하였을 때, 해결 방법에 대해 알아보도록 하겠습니다.

ORA-00979: group by 표현식이 아닙니다

해당 오류의 핵심은 역시, GROUP 이라고 할 수 있겠습니다~ 쿼리에서 GROUP BY 절을 올바르게 사용하지 않았을 때 발생하는 오류이기 때문이지요. 이 문제를 해결하는 예제를 간단히 확인해 보겠습니다.

EMP 테이블을 사용하여 각 부서의 총 급여를 찾고자 가정해 봅시다. 다음과 같은 쿼리를 시도할 수 있습니다.

  SELECT DEPTNO, SAL
    FROM EMP
GROUP BY DEPTNO;

ERROR at line 1:
ORA-00979: not a GROUP BY expression

그러나 이 쿼리를 실행하면 'ORA-00979: not a GROUP BY expression' 오류가 발생합니다. 이는 GROUP BY 절을 사용하여 부서별 총 급여를 구하고자 하였으나, 총 급여를 조회하기 위해 필요한 SUM 집계 함수를 누락하였기 때문입니다. 이 문제를 해결하려면 그룹 표현식을 점검하여, 그룹화 한 결과가 맞는지 확인하여야 합니다.

  SELECT DEPTNO, SUM (SAL)
    FROM EMP
GROUP BY DEPTNO;

    DEPTNO   SUM(SAL)
---------- ----------
        30       9400
        20      10875
        10       8750

이렇게 바꾸어 조회하면 각 DEPTNO에 대해 SAL 컬럼을 집계하여 조회하는 것을 알 수 있습니다. 물론 오류도 해결하였답니다.

댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗