DBAtlas · 데이터베이스 운영 아틀라스

ORA-00979: not a GROUP BY expression

Oracle

의미

SELECT 목록에 집계 함수(SUM, COUNT 등)와 함께 집계되지 않은 컬럼을 사용했지만 해당 컬럼이 GROUP BY 절에 추가되지 않았다. Oracle은 그 컬럼을 어떻게 그룹화할지 알 수 없다.

원인

SELECT에는 있지만 GROUP BY에는 없는 컬럼. 집계 함수 밖의 표현식이 GROUP BY 목록에서 누락됨. HAVING 또는 select 표현식의 불일치.

해결 방법

집계되지 않은 모든 컬럼을 GROUP BY 목록에 추가한다: SELECT department, COUNT(*) FROM employee GROUP BY department; 또는 해당 컬럼도 집계 함수(MAX, MIN)로 감싸거나, 분석 함수(OVER())로 그룹화를 재설계한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목