본문 바로가기

MySQL

MySQL - rollup 사용

group by 절에서 rollup(column1,.. )의 형태로 사용할 수 있다고 알려져 있습니다.
MySQL 8.0.26 에서는 작동하지 않았습니다. 

select b.dname, a.job, count(*) as emp_cnt, sum(a.sal) as sal_sum 
from emp a,dept b
where b.deptno = a.deptno
group by dname,job with rollup;

위 예문과 같이 with 절을 삽입하여 rollup 옵션을 적용시킬 수 있습니다.
group by 컬럼을 그대로 이용합니다. 다음은 결과표입니다. 잘 구동되네요! 

ACCOUNTING CLERK 1 1300.00
ACCOUNTING MANAGER 1 2450.00
ACCOUNTING PRESIDENT 1 5000.00
ACCOUNTING   3 8750.00
RESEARCH ANALYST 2 6000.00
RESEARCH CLERK 2 1900.00
RESEARCH MANAGER 1 2975.00
RESEARCH   5 10875.00
SALES CLERK 1 950.00
SALES MANAGER 1 2850.00
SALES SALESMAN 4 5600.00
SALES   6 9400.00
    14 29025.00

 

반응형

'MySQL' 카테고리의 다른 글

MySQL - regexp,rlike  (0) 2021.09.29
MySQL - ratio_to_report 구현  (0) 2021.09.26
MySQL - rownum 구현  (0) 2021.09.22
MySQL - index, view, group by  (0) 2021.08.19
MySQL - join, union, sub-query  (0) 2021.08.18