은쥬라기월드

PIVOT() 본문

Language(언어)/SQL

PIVOT()

은쥬라기 2021. 12. 16. 21:05

📌PIVOT()이란

행과 열의 값을 쉽게 바꿀 수 있는 함수로 테이블의 col 값들을 회전시켜 테이블의 새로운 열로 지정하는 것이다.

 

📌PIVOT() 문법

PIVOT( 집계함수 FOR 기준열 IN (기준열의 값))

- PIVOT 함수는 내부적으로 그룹핑된 결과를 제공하기 때문에 그룹핑할 대상에 대해 정의가 필요하다. GROUP BY가 들어간 쿼리에서 SELECT SUM(), AVG() 구절 역할

- 그룹핑된 결과물을 정의해야 하는 PIVOT 함수, 어떠한 기준들로 그룹핑할 것인지를 정의하기 위해 FOR 피봇의 기준이 되는 컬럼을 정의한다. GROUP BY 절에 뒤따르는 컬럼과 같은 역할

- PIVOT IN절은 WHERE 필터링을 주는 역할로 원하는 결과물을 얻기 위한 정의가 필요하다. 

 

EX) YRMN, NO을 그룹으로 VAL 정리하는 방법

NO YRMN VAL
1 202101 20
2 202101 25
3 202101 35
4 202101 43
5 202101 22
6 202101 134
1 202102 222
2 202102 342
3 202102 45
4 202102 12
5 202102 10
6 202102 50

정보테이블

 

Q) YRMN에 있는 값을 테이블의 열로 회전하여 나타내시오.

A) 

SELECT NO, [202101], [202102]
FROM (SELECT YRMN, NO, VAL
      FROM 정보테이블) AS TEMP
PIVOT ( MIN([VAL]) FOR YRMN IN ([202101], [202102]) AS PVT
NO 202101 202102
1 20 222
2 25 342
3 35 45
4 43 12
5 22 10
6 134 50

완성 테이블

 

'Language(언어) > SQL' 카테고리의 다른 글

ROW_NUMBER()  (0) 2021.12.12
SQL 파싱 순서  (0) 2021.09.06
SQL 단축키 모음  (0) 2021.09.06
ALTER  (0) 2021.08.05
SQL이란  (0) 2021.08.05
Comments