본문 바로가기
개발이야기/MSSQL

[MSSQL] MSSQL PIVOT을 사용하여 행을 열로 변환하기

by S코델리아2 2024. 7. 10.
728x90
반응형

MSSQL을 사용하다 보면 PIVOT이 많이 쓰일 것이다.

PIVOT 이란?

결괏값의 행(ROW) 값들을 테이블의 열(COLUMN)으로 지정하는 것이다.

(한국말이 제일 어렵다)

 

PIVOT 전

 

PIVOT 전 데이터는 월별 수량이 행(ROW)으로 나타나지만

 

PIVOT 후

PIVOT 후 데이터는 월별 수량이 열(COLUMN)로 나타난다.

PIVOT 문법
SELECT *
FROM (
    SELECT 원본테이블
     ) AS TEMP
PIVOT (
    집계함수 FOR 피벗 대상 컬럼명 IN ([피벗컬럼값] ...)
      ) AS PVT

 

PIVOT 예제
SELECT *
FROM (
    SELECT [YEAR], [MONTH], [AMOUNT]
    FROM DATA
) AS TEMP
PIVOT (
    SUM([AMOUNT]) FOR MONTH IN ([05],[06],[07],[08],[09],[11])
) AS PVT

 

기존 데이터를 월을 기준으로 PIVOT 처리하는 예제이다.

집계 함수 부분은 SUM, MAX, MIN, COUNT, AVG 등을 사용하여 원하는 결괏값을 출력하면 된다.


별표 5개

피벗 칼럼 값을 지정할 때는 [ ] 대괄호가 필수다!!

FROM 절과 PIVOT 절에는 별칭을 붙여줘야 한다!!


참~ 쉽죠잉~?

728x90
반응형