2025-08-30 01:06
Tags: SQL
PIVOT
- 긴 형식의 데이터(롱포맷) → 넓은 형식의 데이터 변환(와이드 포맷)
- 흔히 특정 열의 고유한 값들을 새로운 열로 만든다.
날짜 | 상점명 | 제품명 | 판매량 |
---|---|---|---|
2023-10-01 | 강남점 | 사과 | 10 |
2023-10-01 | 강남점 | 바나나 | 15 |
2023-10-01 | 홍대점 | 사과 | 12 |
2023-10-01 | 홍대점 | 오렌지 | 8 |
2023-10-02 | 강남점 | 사과 | 11 |
2023-10-02 | 홍대점 | 바나나 | 20 |
제품명 | 강남점 | 홍대점 |
---|---|---|
사과 | 21 | 12 |
바나나 | 15 | 20 |
오렌지 | 0 | 8 |
SELECT
제품명,
[강남점], -- PIVOT될 열 이름을 명시
[홍대점]
FROM
(
-- PIVOT을 적용할 원본 데이터 선택
SELECT
제품명,
상점명,
판매량
FROM
SalesData
) AS SourceTable
PIVOT
(
SUM(판매량) -- 값(Values)에 적용할 집계 함수
FOR 상점명 IN ([강남점], [홍대점]) -- 열(Columns)로 만들 값들을 지정
) AS PivotTable;