ORA-00937: 단일 그룹의 그룹 함수가 아닙니다

00937. 00000 -  "not a single-group group function"



1. SELECT LIST에 그룹함수를 사용하는 경우, 그룹함수를 적용하지 않은 단순 컬럼은 올 수 없다.

-- error
SELECT MAX(sal), ename
FROM   emp;

-- correct
SELECT MAX(sal)
FROM   emp;

-- correct
SELECT MAX(sal), ename
FROM   emp
GROUP BY ename;

 

 

2. 그룹 함수가 중첩된 경우 GROUP BY절에 기술한 컬럼도 출력 할 수 없다.

-- error
SELECT deptno, MAX(AVG(weight)) max_weight
FROM   student
GROUP BY deptno;

-- correct 
SELECT MAX(AVG(weight)) max_weight
FROM   student
GROUP BY deptno;

 

SELECT AVG(weight) max_weight
FROM   student
GROUP BY deptno;

에 대한 결과는 

 

위와 같으므로 당연히 deptno를 가져올 수 없다!

 

 

 

 

 

 

Ref. 

https://wickedmagic.tistory.com/214 

https://keep-cool.tistory.com/37

+ Recent posts