COLUMN을 ROW로 출력 (PIVOT)
: ROW(행)를 COLUMN으로 출력
- SUM+DECODE 보다 간단함
- FROM절을 반드시 특정 컬럼만 선택해야함
SELECT *
FROM (SELECT column1, column2, FROM tablename)
PIVOT (SUM(column2) FOR column1 IN(100,200,300));
: column1, column1별 column2합계를 가로 출력
- FROM절 : column1, column2 중에서
- PIVOT절 : column1이 100,200,300 인 경우(COLUMN명), column2의 합계(COLUMN값=행)를 가로로 출력
SELECT *
FROM(SELECT colum1, column2 FROM tablename)
PIVOT(SUM(column2) FOR column1 IN('KOREA', 'USA', 'GERMANY'));
: '' 작은 따옴표까지 출력됨 -> 'KOREA'
: PIVOT절을 사용하기 위해서는 FROM절에 반드시 특정 컬럼만 선택해야함
SELECT *
FROM(SELECT column1, column2 FROM tablename)
PIVOT(SUM(solumn2) FOR column1 IN('KOREA' as "KOREA", 'USA' as "USA", 'GERMANY' as "GERMANY));
: ''작은 따옴표 처리 -> KOREA
'CS > 데이터베이스' 카테고리의 다른 글
[Oracle] 데이터 분석 - 누적 데이터 출력 (SUM OVER) (0) | 2020.09.09 |
---|---|
[Oracle] ROW를 COLUMN으로 출력 (UNPIVOT) (0) | 2020.09.09 |
[Oracle] COLUMN을 ROW로 출력 (SUM+DECODE) (0) | 2020.09.09 |
[Oracle] 데이터 분석 - 가로 출력 (LISTAGG) (0) | 2020.09.08 |
[Oracle] 데이터 분석 - 순위의 비율 출력 (CUME_DIST) (0) | 2020.09.08 |