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 ;
'MSSQL' 카테고리의 다른 글
[MSSQL] The transaction log for database is full (0) | 2016.09.14 |
---|---|
[MSSQL] WITH / CTE (0) | 2016.08.14 |
[MSSQL] 순위함수 RANK, NTILE, DENSE_RANK, ROW_NUMBER (0) | 2016.08.14 |
[MSSQL] 암호 대칭키 (0) | 2016.07.26 |
[MSSQL] 특수문자 제거 함수 RemoveSpecialChars (0) | 2016.07.25 |