Database/Oracle

[Oracle]CUBE

  • -
반응형
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 사이트를 참고하면 좋습니다.


+ 피드백은 언제나 환영입니다 :)

반응형

'Database > Oracle' 카테고리의 다른 글

[Oracle]공백 제거  (0) 2018.09.28
[Oracle]CASE문  (0) 2018.09.02
[Oracle]ROLLUP  (0) 2018.08.22
[Error]ORA-01417: 하나의 테이블은 하나의 다른 테이블과 포괄 조인할 수 있습니다  (1) 2018.08.20
[Oracle]TRUNC  (0) 2018.08.17
Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.