다음 쿼리를 실행하면 사원의 급여와 부서별 소계 및 총계가 출력됩니다.
이 결과를 부서별 소계 순서대로 정렬하는 쿼리를 작성해 주세요.
SELECT deptno, empno, SUM(sal) sum_sal
FROM scott.emp
GROUP BY ROLLUP(deptno, empno)
;
정렬전 결과 | 정렬후 결과 | |||||
DEPTNO |
EMPNO |
SUM_SAL |
DEPTNO |
EMPNO |
SUM_SAL | |
10 | 7782 | 2450 | 20 | 7369 | 800 | |
10 | 7839 | 5000 | 20 | 7566 | 2975 | |
10 | 7934 | 1300 | 20 | 7788 | 3000 | |
10 | 8750 | 20 | 7876 | 1100 | ||
20 | 7369 | 800 | 20 | 7902 | 3000 | |
20 | 7566 | 2975 | 20 | 10875 | ||
20 | 7788 | 3000 | 30 | 7499 | 1600 | |
20 | 7876 | 1100 | 30 | 7521 | 1250 | |
20 | 7902 | 3000 | 30 | 7654 | 1250 | |
20 | 10875 | 30 | 7698 | 2850 | ||
30 | 7900 | 950 | 30 | 7844 | 1500 | |
30 | 7499 | 1600 | 30 | 7900 | 950 | |
30 | 7521 | 1250 | 30 | 9400 | ||
30 | 7654 | 1250 | 10 | 7782 | 2450 | |
30 | 7698 | 2850 | 10 | 7839 | 5000 | |
30 | 7844 | 1500 | 10 | 7934 | 1300 | |
30 | 9400 | 10 | 8750 | |||
29025 | 29025 |
[정답보기] <== 트리플클릭
SELECT deptno, empno, SUM(sal) sum_sal
FROM scott.emp
GROUP BY ROLLUP(deptno, empno)
ORDER BY GROUPING(deptno)
, MAX(sum_sal) OVER(PARTITION BY deptno) DESC
, deptno
, empno
;
'Oracle > SQL Question' 카테고리의 다른 글
[퀴즈] 문자는 문자 그대로 숫자0은 0,소수는 첫째자리까지만 출력해보세요~ (0) | 2015.09.14 |
---|---|
[퀴즈] RANK()함수를 사용하지 않고 순위 구하기 (0) | 2015.09.14 |
[퀴즈] 행을 열로 변환 퀴즈 (0) | 2015.09.14 |
[퀴즈] 조건부 누적쿼리 퀴즈 (0) | 2015.09.14 |
[퀴즈] 사과 나눠주기 퀴즈 (0) | 2015.09.14 |