사용 프로그램
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