728x90
반응형
MSSQL을 사용하다 보면 PIVOT이 많이 쓰일 것이다.
PIVOT 이란?
결괏값의 행(ROW) 값들을 테이블의 열(COLUMN)으로 지정하는 것이다.
(한국말이 제일 어렵다)
PIVOT 전 데이터는 월별 수량이 행(ROW)으로 나타나지만
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
반응형
'개발이야기 > MSSQL' 카테고리의 다른 글
[MSSQL] REPLACE 함수: 문자열 대체 기능 (0) | 2024.07.11 |
---|---|
[MSSQL] 한글 자동 변환 해결 방법 (0) | 2024.07.10 |
[MSSQL] 데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다. DB 복원 실패 해결 (0) | 2024.07.10 |
[MSSQL] 테이블에 새로운 컬럼 추가하기 (0) | 2024.07.10 |
[MSSQL] 쿼리 이력 조회 (0) | 2024.07.10 |