CUBE
지난 글에서 아래와 같은 테이블이 있다고 했을 때, ROLLUP을 사용해서 각 학부별 등록금 총액과 학생 수를 구할 수 있었습니다.
[각 학부별 등록금 총액과 학생 수]
그럼 학부(HAKBU)말고 학과(DEP)에 대한 등록금 총액과 학생 수를 구하기 위해서는 어떻게 해야 할까요?
방법은 있다. 학과에 대해 ROLLUP을 사용하여 UNION ALL로 연결시켜주면 됩니다.
하지만 CUBE를 사용하면 더 편하게 결과를 구할 수 있습니다.
SELECT HAKBU, DEP, SUM(PAY) PAY, COUNT(SNO) S_COUNT
FROM TESTDB
GROUP BY CUBE(HAKBU, DEP)
ORDER BY HAKBU
빨간 표시된 부분을 보면 학과에 대한 등록금 총액과 학생 수를 확인할 수 있습니다.
즉, CUBE함수를 사용하면 GROUP BY 항목들 간 다차원적인 소계를 계산할 수 있는 것입니다.
더 자세한 설명은 DBguide 사이트를 참고하면 좋습니다.
+ 피드백은 언제나 환영입니다 :)