[Oracle] 오라클 월별 합계 구하기 (월별 통계)

오라클 쿼리에서 월별 합계(월별 통계)를 구하기 위해서는 날짜 칼럼을 TO_CHAR 함수를 사용하여 년월까지만 잘라서 집계를 하면 쉽게 구할 수 있다. 월별 가로 합계를 구하기 위해서는 DECODE 함수를 사용하면 쉽게 구할 수 있지만, DECODE 함수 외에도 CASE 표현식이나 PIVOT 함수를 사용할 수도 있다.

 

목차
  1. 월별 합계 구하기 (가로 합계)
  2. 월별 합계 구하기 (세로 합계)

 

월별 합계 구하기 (가로 합계)

SELECT SUM(DECODE(TO_CHAR(hiredate, 'MM'), '01', sal)) AS "01월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '02', sal)) AS "02월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '03', sal)) AS "03월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '04', sal)) AS "04월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '05', sal)) AS "05월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '06', sal)) AS "06월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '07', sal)) AS "07월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '08', sal)) AS "08월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '09', sal)) AS "09월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '10', sal)) AS "10월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '11', sal)) AS "11월"
     , SUM(DECODE(TO_CHAR(hiredate, 'MM'), '12', sal)) AS "12월"
  FROM emp
 WHERE hiredate BETWEEN TO_DATE('1981-01-01', 'YYYY-MM-DD')
                    AND TO_DATE('1981-12-31', 'YYYY-MM-DD')

 

 

월별 합계의 핵심은 TO_CHAR 함수를 사용하여 날짜를 월(또는 년월)까지만 변환하여 사용하는 것이다.

 

가로 합계를 구하기 위해서는 DECODE 함수를 사용하면 된다. DECODE 함수 외에도 CASE 표현식 또는 PIVOT 함수를 사용하여 가로 합계를 구할 수 있다.

 

월별 합계 구하기 (세로 합계)

SELECT TO_CHAR(hiredate, 'YYYY-MM') AS yyyymm
     , SUM(sal)
  FROM emp
 WHERE hiredate BETWEEN TO_DATE('1981-01-01', 'YYYY-MM-DD')
                    AND TO_DATE('1981-12-31', 'YYYY-MM-DD')
 GROUP BY TO_CHAR(hiredate, 'YYYY-MM')
 ORDER BY yyyymm

 

 

월별 세로 합계를 구하기 위해서는 TO_CHAR 함수를 사용하여 날짜를 년월까지만 변환하여 합산을 하면 된다.

예제쿼리(테이블포함).txt
0.00MB

 

[Oracle] 행을 열로 바꾸는 방법 (세로를 가로로)

오라클에서 행을 열로 바꾸기 위해서는 다양한 방법이 있다. 그룹별로 집계된 데이터의 행을 열로 바꾸기 위해서는 PIVOT, DECODE 또는 CASE를 사용하며, 여러 행의 문자열을 합쳐서 하나의 열로 바

gent.tistory.com

 

[Oracle] 오라클 PIVOT 함수 사용법 (열을 행으로)

오라클 11g부터 PIVOT 기능을 제공합니다. 기존 이하버전에서는 DECODE 함수를 이용하여 로우를 컬럼으로 변경하는 작업을 하였습니다. PIVOT 기능을 이용하면 DECODE의 복잡하고 비직관적인 코드를 조

gent.tistory.com

 

댓글

Designed by JB FACTORY