피벗과 언피벗이 널리 쓰이면서 몇몇 데이터베이스 제조사에서는 단 몇 줄 만에 이 기능을 하
는 함수를 지원하기 시작했습니다. 마이크로소프트
SQL
서버와 스노우플레이크가 제공하는
pivot
함수는 변형된 형태의
WHERE
절처럼 동작합니다.
pivot
함수 사용법은 다음 코드와 같
습니다.
label
_
column
의 각 값이 열로 구성된 결과 데이터를 생성하려면
aggregation
에
sum
,
avg
등의 집계 함수를 사용하고,
value
_
column
에는 집계될 필드를 지정합니다.
SELECT...
FROM...
pivot
(aggregation(value_column)
for
label_column
in
(label_1, label_2, ...))
;
2
.
6
.
2
절 ‘
CASE
문을 활용한 피벗’에서 살펴본 피벗을 다시 작성하면 다음과 같습니다.
SELECT
*
FROM
orders
pivot
(
sum
(order_amount)
for
product
in
(‘shirt’,’shoes’))
GROUP
BY
order_date
;
앞서 본 쿼리보다는 간편해 보이지만, 이 방법도 생성하고자 하는 열을 코드에 직접 명시해야
합니다. 따라서 필드가 새로 추가되거나 변경되는 경우
pivot
함수를 사용하면 유연하게 대
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.