문제
다음 [매출] 테이블에서 SQL문을 실행한 결과의 첫 번째 행에서 평균단가 컬럼의 값을 쓰시오.
[매출]
| 지역 | 제품 | 단가 | 판매량 |
|---|---|---|---|
| 서울 | 노트북 | 100 | 5 |
| 서울 | 마우스 | 20 | 10 |
| 부산 | 노트북 | 120 | 3 |
| 부산 | 키보드 | 50 | 8 |
| 대구 | 노트북 | 90 | 7 |
SQLSELECT 제품, ROUND(SUM(단가 * 판매량) * 1.0 / SUM(판매량), 2) AS 평균단가 FROM 매출 WHERE 판매량 >= 5 GROUP BY 제품 ORDER BY 평균단가 DESC;
정답
94.17
94.17
해설
1단계: WHERE 절에서 판매량 >= 5인 행만 남기면 서울-노트북(100,5), 서울-마우스(20,10), 부산-키보드(50,8), 대구-노트북(90,7)이다. 2단계: GROUP BY 제품으로 그룹화하면 노트북, 마우스, 키보드 그룹이 생성된다. 3단계: 가중평균 계산 - 노트북은 (100×5 + 90×7) / (5+7) = 1130 / 12 = 94.166... 이고 ROUND(..., 2)로 94.17이 된다. 마우스는 20.00, 키보드는 50.00이다. 4단계: ORDER BY 평균단가 DESC이므로 첫 번째 행은 노트북이며 평균단가는 94.17이다.