728x90

사용 프로그램

Oracle 11g & SQL Developer

 

메세지

ORA-00979: GROUP BY 표현식이 아닙니다. 00979. 00000 - "not a GROUP BY expression"

 

상황

아래 쿼리를 조회하려다 발생

SELECT E.EMP_NO, E.EMP_NM, COUNT(E.EMP_NO)
FROM EMP_C E
    JOIN FAM_C F ON(E.EMP_NO = F.EMP_NO)    
WHERE REL_TYPE_CD = 'A27'
GROUP BY E.EMP_NO; -- 인출행 수 1239

 

원인

조회할려는 컬럼이 그룹바이로 지정이 안됐기에 에러 발생

GROUP BY문에 들어가 있는 컬럼명들 중에 SELECT문에 안들어가도 있어도 에러발생X

반대로, GROUP BY문에 없는데 SELECT문에서 들어가있는 컬럼명이 있다면 에러발생O

 

해결

GROUP BY E.EMP_NO에 추가로 E.EMP_NM 컬럼 추가

E.EMP_NM이 조회할려던 컬럼

즉, 조회할려는 컬럼이 그룹바이로 지정이 안됐기에 에러 발생

SELECT E.EMP_NO, E.EMP_NM, COUNT(E.EMP_NO)
FROM EMP_C E
    JOIN FAM_C F ON(E.EMP_NO = F.EMP_NO)    
WHERE REL_TYPE_CD = 'A27'
GROUP BY E.EMP_NO, E.EMP_NM; -- 인출행 수 1239

 

728x90
반응형

+ Recent posts