-- 다음과 같은 쿼리를 동적으로 구현하세요. SELECT NVL(gb, '계') gb , COUNT(DECODE(yyyy, '2001', 1)) "2001" , COUNT(DECODE(yyyy, '2002', 1)) "2002" , COUNT(DECODE(yyyy, '2003', 1)) "2003" , COUNT(DECODE(yyyy, '2004', 1)) "2004" , COUNT(DECODE(yyyy, '2005', 1)) "2005" , COUNT(DECODE(yyyy, '2006', 1)) "2006" FROM t a WHERE 1=1 AND grade_cd = '1' -- 감염등급코드 AND type_cd = '001' -- 감염병코드 AND yyyy BETWEEN '2001' AND '2006' -- 조회기간 GROUP BY ROLLUP(gb) ORDER BY a.gb NULLS FIRST ;