아래 [판매 테이블]을 [기대 결과]와 같이 출력하기 위해 가장 적절한 SQL은?
보기
[판매 테이블]
| 상품 | 분기 | 판매량 |
|---|---|---|
| 노트북 | 1분기 | 120 |
| 노트북 | 2분기 | 135 |
| 노트북 | 3분기 | 150 |
| 노트북 | 4분기 | 160 |
| 모니터 | 1분기 | 85 |
| 모니터 | 2분기 | 90 |
| 모니터 | 3분기 | 98 |
| 모니터 | 4분기 | 105 |
| 키보드 | 1분기 | 60 |
| 키보드 | 2분기 | 66 |
| 키보드 | 3분기 | 72 |
| 키보드 | 4분기 | 80 |
[기대 결과]
| 상품 | 1분기 | 2분기 | 3분기 | 4분기 |
|---|---|---|---|---|
| 노트북 | 120 | 135 | 150 | 160 |
| 모니터 | 85 | 90 | 98 | 105 |
| 키보드 | 60 | 66 | 72 | 80 |
- 1SELECT * FROM 판매 UNPIVOT (판매량 FOR 분기 IN ('1분기','2분기','3분기','4분기'));
- 2SELECT * FROM 판매 PIVOT (SUM(판매량) FOR 분기 IN ('1분기' AS "1분기", '2분기' AS "2분기", '3분기' AS "3분기", '4분기' AS "4분기"));
- 3SELECT 상품, SUM(CASE WHEN 분기='1분기' THEN 판매량 END) AS "1분기" FROM 판매 GROUP BY 상품;
- 4SELECT 상품, SUM(판매량) FROM 판매 GROUP BY CUBE(상품, 분기);
꿈라CBT