문제
다음 SQL의 실행 결과로 가장 적절한 것은?
[SALES] REGION: A,A,A,B,B,C / AMOUNT: 100,200,300,150,250,400
SQLSELECT REGION, MAX(AMOUNT) - MIN(AMOUNT) AS DIFF FROM SALES GROUP BY REGION HAVING COUNT(*) > 1 ORDER BY DIFF DESC;
① A:200, B:100 ② B:100, A:200 ③ A:200, B:100, C:0 ④ C:0, A:200, B:100
정답
1번
해설
각 지역별 계산: A지역(100,200,300) → MAX-MIN=300-100=200, COUNT=3>1(포함), B지역(150,250) → MAX-MIN=250-150=100, COUNT=2>1(포함), C지역(400) → COUNT=1≤1(제외). HAVING 조건을 만족하는 것은 A,B이고, ORDER BY DIFF DESC는 내림차순 정렬이므로 DIFF 값이 큰 순서대로 A:200, B:100이다.