sql cube 예제


선택 목록에 집계가 없는 경우 선택 목록의 각 열이 그룹 BY 목록에 포함되어야 합니다. 선택 목록의 계산된 열을 그룹 BY 목록에 나열할 수 있지만 필수는 아닙니다. 구문적으로 유효한 SELECT 문의 예: 그룹화 집합은 단일 쿼리에서 데이터 그룹을 지정합니다. 예를 들어 다음 쿼리는 (브랜드) 으로 표시되는 단일 그룹 집합을 정의합니다: GROUP BY 절은 지정된 열에 따라 집계 함수의 결과를 그룹화하는 데 사용됩니다. 그러나 GROUP BY 절은 계층의 여러 수준에서 집계 작업을 수행하지 않습니다. 예를 들어 회사의 각 부서에 대한 모든 직원 급여 의 합계(계층 구조의 한 수준)를 계산할 수 있지만 근무하는 부서(계층 구조의 두 수준)에 관계없이 모든 직원의 총 급여를 계산할 수는 없습니다. 이 예제에서는 DISTRIBUTED_AGG 쿼리 힌트를 사용하여 어플라이언스가 집계를 수행하기 전에 CustomerKey 열의 테이블을 섞도록 합니다. 다음 예제에서는 HAVING 절을 사용하여 GROUP BY 절에서 생성된 그룹 중 결과 집합에 포함할 그룹을 지정합니다. 나는 당신의 질문을 이해 확실하지 않다. 확실히 테이블에 다른 열을 추가하고 쿼리에 포함할 수 있습니다.

집계 함수에 대한 인수가 아닌 열을 선택한 모든 열은 목록별로 그룹에 포함해야 합니다. 예를 들어 계층이 아닌 데이터(예: 도시-성별-국적)가 있는 경우 계층적 결과를 원하지 않으므로 CUBE를 사용하여 가능한 모든 조합을 제공합니다. 예를 들어 그룹 BY ROLLUP(col1, col2, col3, col4)은 다음 목록에서 열 식의 각 조합에 대한 그룹을 만듭니다. 그룹 집합은 명시적 그룹화 집합 목록의 일부가 아닌 경우 GROUP BY 절에서 허용되지 않습니다. 예를 들어, 그룹 별 열1, (열2, … ColumnN)은 표준에서 허용되지만 거래-SQL에서는 허용되지 않습니다. Transact-SQL은 그룹 BY C1, 그룹화 세트를 지원합니다((열2, … ColumnN)) 및 그룹 별 열1, 열2, …