PIVOT / UNPIVOT 연산자

 

PIVOT 연산자는 한 열에 포함된 여러 값을 출력하고, 이를 여러 열로 변환하여 테이블 반환 식을 회전하고 필요하면

집계까지 수행할 수 있다. 또한, UNPIVOT은 PIVIT의 반대되는 연산을 수행한다.

 

PIVOT의 원형은 다음과 같다

 

PIVOT ( 집계함수 (열)

FOR 새로운 열로 변경할 열이름

IN (열 목록) AS 피벗이름 )

 

 

 

1. 샘플 테이블을 만든다

 

CREATE TABLE pivotTest
 ( uName NCHAR(3) ,
  season NCHAR(2) ,
  amount INT ) ;

 

 

2. 테이블을 9건 입력한다.

 

INSERT INTO pivotTest VALUES
 ('김범수' , '겨울' , 10) , ('윤종신' , '여름' , 15) ,
 ('김범수' , '가을' , 25) , ('김범수' , '봄' , 3) ,
 ('김범수' , '봄' , 37) , ('윤종신' , '겨울' , 40) ,
 ('김범수' , '여름' , 14) , ('김범수' , '겨울' , 22) ,
 ('윤종신' , '여름' , 64) ;
SELECT * FROM pivotTest ;

 

 

 

3. PIVOT 연산자를 수행한다.

 

SELECT * FROM pivotTest
 PIVOT ( SUM(amount)
   FOR season
   IN ([봄],[여름],[가을],[겨울])) AS resultPivot ;

 


+ Recent posts