[SQL] ROLLUP/GROUPING 깔끔한 소계/합계 보고서만들기


[SQL] ROLLUP/GROUPING 깔끔한 소계/합계 보고서만들기

업무중에 재밌었던 쿼리를 하나 정리하려고 한다. 기초쿼리이긴 하지만 처음봤을 때는 뭔가 싶었던 쿼리문이다. 먼저 ROLLUP을 이해하는 것이 필요하다. ROLLUP은 함수에서 묶인 컬럼을 기준으로 소계/합계를 구할 수 있도록 도와준다.(컬럼순서중요) 위 쿼리는 아래와 같이 합계를 출력할 것이다. A-1 합계, A-2 합계, A 전체합계 B-1 합계, B-2 합계, B 전체합계 A,B 전체합계 ROLLUP함수는 GROUPING 함수와 함께 사용하면 꽤나 깔끔한 합계/소계 결과를 출력할 수 있다. GROUPING 함수는 NULL여부만 체크하여 0과 1을 리턴, GROUPING_ID 함수는 GROUPING_ID(COL1,COL2) 의 NULL여부에 따라 0,1,2,3 ... 을 리턴한다. (NULL의 경우 1인 이진수..........



원문링크 : [SQL] ROLLUP/GROUPING 깔끔한 소계/합계 보고서만들기