정보처리기사 실기SQLSQL - GROUP BY 기본 집계난이도 3SHORT_ANSWER

정보처리기사 실기 SQL - GROUP BY 기본 집계 기출문제 #1238

문제

다음 [매출] 테이블에서 SQL문을 실행한 결과의 첫 번째 행에서 평균단가 컬럼의 값을 쓰시오.

[매출]

지역제품단가판매량
서울노트북1005
서울마우스2010
부산노트북1203
부산키보드508
대구노트북907
SQL
SELECT 제품, 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이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] SQL - GROUP BY 기본 집계 SQL 기출 #1238 | sqldpass