본문 바로가기
DataBase/Oracle with Error

[해결 방법] ORA-00937: 단일 그룹의 그룹 함수가 아닙니다

by HJ0216 2023. 3. 3.

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00937: 단일 그룹의 그룹 함수가 아닙니다
00937. 00000 -  "not a single-group group function"

 

 

발생 원인

DEPARTMENT_ID로 GROUP화를 진행하였으므로 그룹화된 DEPARTMENT_ID가 출력되야함

그러나, 그룹함수 MAX 사용 시, 1개의 RECORD만 RETURN되므로 DEPARTMENT_ID RECORD 수가 많아서 오류 발생

 

 

해결 방법

DEPARTMENT_ID 삭제

그룹함수 MAX에 따른 DEPARTMENT_ID값을 RETURN 받고 싶으면 그룹에 대한 조건절인 HAVING을 사용

-> 도출되는 DEPARTMENT_ID가 1개만 도출되도록 함

 

⭐ 조건절 작성 순서: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY