DB

MSSQL PIVOT , 피벗

리타이 2021. 12. 17. 15:57

PIVOT은 데이터를 검색할 때 행 집합을 열로 변환시킵니다.
UNPIVOT은 데이터를 검색할 때 열을 행의 집합으로 변환시킵니다.

SELECT 컬럼
  FROM 테이블
 PIVOT ( 그룹합수(집계컬럼) FOR 피벗대상컬럼 IN ([피벗컬럼값]) AS pv_result

 

SELECT

*

FROM TABLE의 결과가 아래와 같을 때

year month count
2021 1 2
2021 2 4
2021 3 2
2021 4 0

 

PIVOT을 사용해주면..

SELECT
*
FROM TABLE
PIVOT (
    SUM(count) FOR month IN ([1] ,[2],[3],[4],[5] )
)AS PIVOT_RESULT

아래와 같이 결과가 나오게 된다.

year 1 2 3 4
2021 2 4 2 0