by JUSTWON [Oracle 기초] DECODE GROUP BY ROLLUP [2013.01.14 13:43:00]
[출처] GROUPING 과 ROLLUP 을 이용한 총계 소계 산출하기..|작성자 잠도리
-- Grouping 을 이용해 자료를 구별하는거네요. -- 여러 항목으로 Rollup 한 경우에는 Grouping 보다는 Grouping_ID 를 이용한다면 -- Decode 를 여러번 쓸 필요 없이 쿼리가 좀더 간결해 지겠지요. SELECT DECODE(그룹ID, 7, '총계', 부서) 부서 , DECODE(그룹ID, 3, '소계', 직책) 직책 , DECODE(그룹ID, 1, '소계', 이름) 이름 , 연봉 FROM (SELECT 부서 , 직책 , 이름 , SUM(연봉) AS 연봉 , GROUPING_ID(부서, 직책, 이름) 그룹ID FROM SALARY GROUP BY ROlLUP(부서, 직책, 이름) ) ;