문제
다음 SQL 중에서 GROUP BY 절 사용 시 오류가 발생하는 것은?
① SELECT REGION, COUNT() FROM SALES GROUP BY REGION HAVING COUNT() > 5; ② SELECT REGION FROM SALES GROUP BY REGION ORDER BY SUM(AMOUNT) DESC; ③ SELECT REGION, MAX(AMOUNT) FROM SALES GROUP BY REGION ORDER BY CUSTOMER_NAME; ④ SELECT REGION, AVG(AMOUNT) AS AVG_AMT FROM SALES GROUP BY REGION ORDER BY AVG_AMT;
정답
3번
해설
③번이 정답입니다. GROUP BY를 사용할 때 ORDER BY 절에는 GROUP BY에 포함된 컬럼이나 집계함수만 사용할 수 있습니다. CUSTOMER_NAME은 GROUP BY 절에 없고 집계함수도 아니므로 오류가 발생합니다. ①번은 HAVING 절에 집계함수 사용으로 정상, ②번은 ORDER BY에 집계함수 사용으로 정상, ④번은 ORDER BY에 별칭 사용으로 정상입니다.