일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 빅데이터분석기사
- 국제금융위기
- ADSP
- 경제기사
- SQLPIVOT
- 빅데이터분석기사공부방법
- 데이터분석
- sql주석
- 금융공부
- 디플레이션
- SQL파싱순서
- sql단축키모음
- SQL문법
- 빅데이터분석기사실기
- 기사코멘트
- 빅분기
- 빅분기실기
- 경제기사코멘트
- SQL특정열중복
- SQL행열변환
- python정렬
- SQL단축키
- cumcount
- SQL피봇
- 금융위기
- SQL
- SQL행열
- dataq
- SQL중복제거
- SQL순서
Archives
- Today
- Total
은쥬라기월드
PIVOT() 본문
📌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