--ROLLUP : 그룹화하고 그룹에 대한 부분합
-- CUBE : ROLLUP 결과에 GROUP BY 절의 조건에 따라 모든 가능한 그룹핑 조합에 따른 결과 출력
SELECT buseo,jikwi, SUM(basicpay) FROM insa
GROUP BY buseo,jikwi;
SELECT buseo,jikwi, SUM(basicpay) FROM insa
GROUP BY ROLLUP (buseo,jikwi); -- 직위의 null 값이 들어간부분이 합이다.
SELECT buseo,jikwi, SUM(basicpay) FROM insa
GROUP BY CUBE(buseo,jikwi); --null null 총합 / 부서 null 직위의 합/ 직위 null 부서의 합/
-- GROUPING SET : GROUP BY 절에서 그룹조건을 여러개 지정할 수 있는 함수
-- 각 그룹 조건에 대해 별도로 GROUP BY한 결과를 UNION ALL 한 결과와 동일
SELECT buseo, jikwi, null, TRUNC(AVG(basicpay)) FROM insa GROUP BY buseo, jikwi
UNION ALL
SELECT null, jikwi, city,TRUNC(AVG(basicpay)) FROM insa GROUP BY jikwi,city;
SELECT buseo, jikwi,city,AVG(basicpay) FROM insa
GROUP BY GROUPING SETS((buseo, jikwi), (jikwi, city));
'오라클' 카테고리의 다른 글
오라클 COUNT() OVER() : 조건에 만족하는 행의 수 반환 (0) | 2013.05.30 |
---|---|
오라클 분석 함수( RANK OVER() / ROW_NUMBER() OVER() ) (0) | 2013.05.30 |
오라클 ROWNUM : 쿼리의 결과의 각각의 행 순서 값을 갖는 의사 컬럼 (0) | 2013.05.30 |
오라클 GROUP BY : 그룹별 통계 (0) | 2013.05.30 |
오라클 WHERE절에서 SELECT문 사용하기 (0) | 2013.05.30 |