본문으로 바로가기

 

 

 

이번 글에서는 ORA-00979: not a GROUP BY expression 에러에 대하여 알아보겠습니다.

 

ORA-00979: GROUP BY 표현식이 아닙니다.

ORA-00979: "not a GROUP BY expression"

 

쿼리를 짤 때 다음과 같은 에러가 종종 발생합니다.

 

 

예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.

아래의 쿼리는 부서 번호와 부서명을 그룹화하여 조회하는 쿼리입니다.

 

위 쿼리를 실행하니 ORA-00979: "not a GROUP BY expression" 에러가 발생하네요.

 

에러가 발생한 이유는 SELECT 절의 컬럼과 GROUP BY 절의 컬럼이 같지 않아서입니다.

즉, 위의 쿼리에서는 SELECT 절에 deptno, dname이 있지만, GROUP BY 절에는 deptno 한 개만 있습니다.

따라서 해결 방법은 SELECT 절의 모든 컬럼을 GROUP BY에 모두 적어주시면 됩니다.

 

SELECT 절에 있는 deptno, dname을  GROUP BY 절에 포함시켜서 다시 쿼리를 실행해 보도록 하겠습니다.

 

GROUP BY 절에 SELECT 절의 컬럼들을 모두 포함시켜주니 정상적으로 작동하는 것을 확인할 수 있습니다.

 

 

Reference 

GROUP BY 개념과 예제