본문 바로가기
카테고리 없음

오라클 행을 열로 변환하기 (PIVOT)

by sftt 2023. 12. 13.

오라클 행을 열로 변환하기 (PIVOT)

오라클 데이터베이스는 강력한 집계 및 유연한 데이터 변환 기능을 제공합니다. 특히, PIVOT 연산자를 사용하여 행을 열로 변환하는 작업을 쉽게 수행할 수 있습니다. 이 포스트에서는 오라클 PIVOT 연산자에 대해 자세히 알아보고, 실제 사용 예제를 소개하겠습니다.

PIVOT 연산자란?

PIVOT 연산자는 행을 열로 변환하는 기능을 제공합니다. 주어진 열의 값을 새로운 열로 변환하고, 해당 값의 집계를 수행하여 결과를 반환합니다. PIVOT 연산자는 다음과 같은 SQL 구문을 사용하여 실행됩니다:

SELECT *
FROM (
  -- 변환할 데이터 쿼리
  -- (행을 열로 변환할 열, 집계에 사용할 열 포함)
) 
PIVOT (
  -- 집계를 수행할 열 지정
  <집계함수>(<집계할 열>)
  FOR <피벗할 열> IN (
    -- 변환할 값 지정
    <값1>,
    <값2>,
    ...
  )
)

PIVOT 사용 예제

아래는 PIVOT 연산자를 사용하여 행을 열로 변환하는 예제입니다.

-- 예제 데이터 생성
CREATE TABLE sales (
  year NUMBER,
  month VARCHAR2(10),
  sales NUMBER
);

INSERT INTO sales VALUES (2019, 'January', 100);
INSERT INTO sales VALUES (2019, 'February', 200);
INSERT INTO sales VALUES (2020, 'January', 150);
INSERT INTO sales VALUES (2020, 'February', 250);

-- 행을 열로 변환
SELECT *
FROM (
  SELECT year, month, sales
  FROM sales
)
PIVOT (
  SUM(sales)
  FOR month IN (
    'January',
    'February'
  )
);

위의 예제에서는 sales 테이블을 생성하고 샘플 데이터를 삽입한 후, PIVOT 연산자를 사용하여 행을 열로 변환합니다. 결과는 다음과 같이 나타납니다:

+------+---------+---------+
| YEAR | January | February|
+------+---------+---------+
| 2019 | 100     | 200     |
| 2020 | 150     | 250     |
+------+---------+---------+

결과에서는 year 열의 값을 기준으로 JanuaryFebruary의 매출 데이터를 열로 변환한 것을 확인할 수 있습니다. 집계 함수로는 SUM 함수를 사용하여 매출을 합산하였습니다.

결론

오라클 PIVOT 연산자는 행과 열 사이의 변환 작업을 간단하게 수행하는 강력한 기능입니다. 주어진 열의 값을 기준으로 집계를 수행하여 행을 열로 변환하고, 새로운 열에 해당 값의 결과를 표시할 수 있습니다. 이를 통해 데이터의 가독성을 높이고, 효율적인 리포팅 및 분석을 수행할 수 있습니다.

댓글