Dream Lovers

SQL 데이터 피벗/언피벗 (pivot/unpivot ) 본문

SQL 쿼리 테스트/Tips

SQL 데이터 피벗/언피벗 (pivot/unpivot )

yun.bagus 2023. 7. 29. 14:57
PIVOT 
SELECT * FROM
(SELECT COL_1, COL_2, ... , COL_N FROM TABLE)
PIVOT (AGG_FUNC(COL_A) FOR COL_B IN (LIST));
  • 행을 열로 바꿔준다  (Columns to rows)
  • COL_A : 집계하고 싶은 컬럼
  • COL_B : 피벗하고 싶은 컬럼
  •  LIST : 피벗되었을 때 쓸 열들의 목록 

 

UNPIVOT
SELECT * FROM TABLE
UNPIVOT (MEASURE_COL FOR NEW_COL_NAME IN (PIVOT_COL_LIST)); 
  • 열을 행으로 치환해준다. (columns to rows)
  • 피벗의 반대 
  • MEASURE_COL : 측정 값이 들어갈 새 열이 되어줄 컬럼명
  • NEW_COL_NAME : 현재 값으로 들어가 있는 것들을 언피벗 한 후에 묶어줄 새로운 컬럼명
  • PIVOT_COL_LIST : 언피벗을 할 피벗된 컬럼들