본문 바로가기

dev/데이터베이스

Oracle Pivot

오라클에서 여러 행의 특정 컬럼을 하나의 행으로 조회하려면 Pivot을 사용하면 됩니다.

 

예제 테이블

 

예제 테이블의 CODE 컬럼 기준으로 집계하여 Pivot을 통해 COL1, COL2 컬럼 합계를 구하겠습니다.

 

Pivot 예제 쿼리 및 결과

 

위의 예제 쿼리를 설명하면

 

서브 쿼리에서 CODE 컬럼 기준으로 집계하여 COL1, COL2 컬럼의 합계를 구합니다.(8 ~ 13라인)

 

서브 쿼리 결과를 Pivot에서 변환합니다.(14 ~ 23라인)

 

앞의 서브 쿼리에서 CODE 컬럼 기준으로 COL1, COL2 합계값을 구했기 때문에

 

MAX(COL1_SUM), MAX(COL2_SUM)을 통해서 Pivot에서 값을 구합니다.

 

FOR CODE IN을 통해 각 CODE 별 컬럼을 생성합니다.

 

여기서 CODE는 SQL 예약어가 아니라 예제 테이블의 컬럼명입니다.

 

쿼리를 실행하면 각 열에 대한 합계값을 조회할 수 있습니다.

'dev > 데이터베이스' 카테고리의 다른 글

Oracle FlashBack Query  (0) 2024.06.27
Oracle Hierarchical Query  (0) 2024.06.27
Dbeaver import export  (0) 2023.02.13
DBeaver query plan  (0) 2021.11.03
dbeaver ERD 조회  (0) 2021.10.30