Knowledge/Database

Oracle에서 Group별 소계와 합계를 구하자 GROUP BY, ROLL UP

TakeKnowledge 2019. 11. 29. 19:37
반응형

 

 

 


 

 

 

- GROUP BY

 

GROUP BY는 말그대로 결과를 그룹 지어서 보고 싶을 때 사용하다.  예를 들어서

 

1
SELECT * FROM EMP;

 

EMP 테이블이 위와 같을 때 부서와 직군으로 그룹 지어 연봉 합계를 보고 싶을 때는

 

1
2
3
SELECT DEPTNO, JOB, SUM(SAL) 
FROM EMP 
GROUP BY (DEPTNO,JOB );

 

위와 같이 SELECT 문을 작성하면

 

 

원하는 결과를 얻을 수 있다.

 

- ROLL UP

 

위와 같은 결과에서 부서별 소계와 전 부서 총계를 보고 싶으면 ROLL UP을 쓰면 된다

 

1
2
3
SELECT DEPTNO, JOB, SUM(SAL) 
FROM EMP 
GROUP BY ROLLUP (DEPTNO,JOB );

 

위와 같이 ROLL UP을 활용해 SELECT 문을 작성하면

 

소계와 총계를 얻을 수 있다

반응형