by JUSTWON [Oracle 기초] DECODE GROUP BY ROLLUP [2013.01.14 13:43:00]
[출처] GROUPING 과 ROLLUP 을 이용한 총계 소계 산출하기..|작성자 잠도리
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -- 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 (부서, 직책, 이름) ) ; |