오라클 rollup 예제

게시자로부터 직접 구매하여 30% 할인된 후 Oracle 튜닝 스크립트의 코드 디포에 즉시 액세스할 수 있습니다. 이 문서의 예제는 다음과 같은 간단한 차원 테이블에 대해 실행됩니다. 여기서 개념을 설명하기 위해 이전 예제에서 사용된 시나리오를 확장합니다. 이제 “이름” 열에 저장된 각 판매와 관련된 영업 담당자의 이름에 액세스합니다. 판매 수수료는 모든 판매에 적립. 아래 SQL은 달러 판매로 정렬된 상위 10명의 영업 담당자를 반환하며, 표 20-9: CUBE는 지정된 그룹화 열 집합을 가져와 가능한 모든 조합에 대한 하위 합계를 만듭니다. 다차원 분석측면에서 CUBE는 지정된 차원의 데이터 큐브에 대해 계산할 수 있는 모든 하위 계수를 생성합니다. CUBE(시간, 지역, 부서)를 지정한 경우 결과 집합에는 동등한 ROLLUP 문에 포함되는 모든 값과 추가 조합이 포함됩니다. 예를 들어 표 20-1에서 지역 전체의 부서 합계(279,000 및 319,000)는 ROLLUP(시간, 지역, 부서) 절로 계산되지 않지만 CUBE(시간, 지역, 부서) 절로 계산됩니다.

CUBE에 지정된 n열이 있는 경우 2n의 하위 계열 조합이 반환됩니다. 표 20-3은 3차원 CUBE의 예를 제공합니다. 오라클 데이터베이스 기술에 대한 수업, 운동 및 퀴즈. 운동을 통한 전문성! 이 장의 예제는 SUM() 연산자와 함께 사용되는 ROLLUP 및 CUBE를 보여 준다. 가장 일반적인 집계 유형이지만, 확장은 COUNT, AVG, MIN, MAX, STDDEV 및 VARIANCE와 같은 절별로 그룹에서 사용할 수 있는 다른 모든 함수와 함께 사용할 수도 있습니다. 교차 표 식 분석에 자주 필요한 COUNT는 두 번째로 유용한 함수일 수 있습니다. 롤업과 마찬가지로 UNION 문과 결합된 여러 SELECT 문은 CUBE를 통해 수집된 동일한 정보를 제공할 수 있습니다. 그러나 이렇게 하려면 많은 SELECT 문이 필요할 수 있습니다: n차원 큐브의 경우 2n SELECT 문이 필요합니다. 3차원 예제에서는 UNION ALL과 연결된 8개의 SELECTS를 발급하는 것을 의미합니다. 이 예제의 숫자는 다른 그림에 사용된 집합과 다릅니다. 오라클은 다음 쿼리와 같이 ROLLUP를 사용하여 총합계를 계산하는 더 빠르고 빠른 방법을 제공합니다: GROUPING 함수는 NULL을 식별하는 데 유용할 뿐만 아니라 소계 행을 정렬하고 결과를 필터링할 수 있습니다.

아래 예제(표 20-7)에서는 CUBE에서 만든 하위 계의 하위 집합과 기본 수준 집계를 검색합니다. HAVING 절은 GROUPING 함수를 사용하는 열을 제한합니다. Top-N 쿼리는 열의 가장 큰 값 또는 가장 작은 값을 요청합니다. 예를 들어 “미국에서 가장 많이 팔리는 10대 제품은 무엇입니까?” 물론, 우리는 또한 물어 볼 수 있습니다 “10 최악의 판매 제품은 무엇입니까?” 가장 큰 값과 가장 작은 값 집합은 모두 Top-N 쿼리로 간주됩니다. 다음은 다차원 요청의 몇 가지 예입니다: ROLLUP 및 CUBE 확장은 시스템의 모든 계층 별 메타데이터와 독립적으로 작동합니다. 계산은 전적으로 표시되는 SELECT 문에 지정된 열을 기반으로 합니다. 이 방법을 사용하면 계층 별 메타데이터를 사용할 수 있는지 여부에 관계없이 큐브 및 롤업을 사용할 수 있습니다. 계층 적 차원에서 수준을 처리하는 가장 간단한 방법은 ROLLUP 확장을 사용하고 별도의 열을 통해 명시적으로 수준을 나타내는 것입니다. 아래 코드는 몇 달이 분기및 분기까지 롤업된 간단한 예를 보여 주며, 이에 대한 간단한 예를 보여 주며, 이에 대한 간단한 예는 수년까지 롤업되어 있습니다.