본문 바로가기
카테고리 없음

오라클 그룹별 소계 합계 구하기 (ROLLUP, CUBE)

by nono22 2023. 11. 25.

오라클 그룹별 소계 합계 구하기 (ROLLUP, CUBE)

오라클에서는 ROLLUP 및 CUBE라는 두 가지 기능을 사용하여 그룹별 소계와 합계를 구할 수 있습니다. 이러한 기능은 복잡한 집계 쿼리를 간단하고 효율적으로 작성하도록 도와줍니다.

ROLLUP

ROLLUP은 그룹별 소계 및 합계를 구하기 위해 사용되는 오라클의 확장된 집계 연산자입니다. ROLLUP은 SQL 쿼리에 사용되며 부분적으로 그룹화된 결과를 반환하는 역할을 합니다. 부분 집계는 개별 열 또는 열 그룹에 대한 소계이고, 전체 집계는 모든 열 또는 열 그룹에 대한 합계입니다.

ROLLUP을 사용하여 그룹별 소계와 합계를 구하는 방법은 다음과 같습니다:

SELECT col1, col2, SUM(col3)
FROM table
GROUP BY ROLLUP (col1, col2);

위의 예제에서는 col1col2를 기준으로 그룹화되고, col3의 합계도 계산됩니다. 결과 집합에는 개별 열 또는 열 그룹에 대한 소계와 모든 열 또는 열 그룹에 대한 합계가 포함됩니다.

CUBE

CUBE는 ROLLUP과 유사한 기능을 제공하지만, 더 다양한 결과를 생성하는 데 사용됩니다. CUBE는 모든 가능한 조합에 대한 그룹별 소계와 합계를 생성합니다. 즉, CUBE는 ROLLUP의 모든 가능한 수준에서 집계를 수행합니다.

CUBE를 사용하여 그룹별 소계와 합계를 구하는 방법은 다음과 같습니다:

SELECT col1, col2, SUM(col3)
FROM table
GROUP BY CUBE (col1, col2);

위의 예시에서는 col1col2를 기준으로 모든 가능한 조합에 대한 그룹별 소계와 합계가 계산됩니다. 결과 집합에는 개별 열 또는 열 그룹에 대한 소계 및 모든 가능한 조합에 대한 합계가 포함됩니다.

이러한 ROLLUP 및 CUBE 기능을 사용하면 복잡한 집계 작업을 간단하고 효율적으로 수행할 수 있습니다. 이를 통해 데이터 분석 및 보고서 작성 작업에 유용하게 활용할 수 있습니다.

댓글