티스토리 뷰

1. ROLLUP,CUBE - 역할

ROLLUP - 그룹별 합계 정보를 추가


CUBE - 모든 가능한 조합에 대한 합계 정보를 추가


2. ROLLUP,CUBE - 기본 테이블

 TEST_TABLE_ONE


NAME

AMT

DEPT 

테스트1

1000 

test_d1

테스트2

1000 

test_d1

테스트3

3000 

 

테스트4

2000 

test_d2

테스트5

2000 

test_d2


3. ROLLUP - SQL 문장

◈ SQL

1
2
3
4
5
6
7
 SELECT DEPT
        ,NAME
            ,COUNT(*AS CNT
            ,SUM(AMT) AS SUM_AMT
                 FROM TEST_TABLE_ONE 
                     GROUP BY ROLLUP(DEPT,NAME)
                     ORDER BY DEPT






◈ 결과 테이블


 DEPT

 NAME

CNT

 SUM_AMT

 test_d1

테스트1

1

 1000 

 test_d1

테스트2

1

 1000 

 test_d1

 

2

 2000 

 test_d2

테스트3

1

2000

  test_d2 

테스트4

1

2000

  test_d2 

 

2

4000

 

테스트5

1

 3000 

 

 

1

 3000 

 

 

5

9000




◈ 설명


현재 결과 테이블을 보게 된다면             이 부분은 각각의 DEPT,NAME 에대한 소계값을 보여준 부분이고,


           이 부분은 전체 정보에 대한 소계값을 보여주는 부분입니다




4. CUBE - SQL 문장

◈ SQL

1
2
3
4
5
6
7
 SELECT DEPT
        ,NAME
            ,COUNT(*AS CNT
            ,SUM(AMT) AS SUM_AMT
                 FROM TEST_TABLE_ONE 
                     GROUP BY CUBE(DEPT,NAME)
                     ORDER BY DEPT





◈ 결과 테이블


 DEPT

 NAME

CNT

 SUM_AMT

 test_d1

테스트1

1

 1000 

 test_d1

테스트2

1

 1000 

 test_d1

 

2

 2000 

 test_d2

테스트3

1

2000

  test_d2 

테스트4

1

2000

  test_d2 

 

2

4000

 

테스트1

1

1000 

 

테스트2

1

1000 

 

테스트3

1

2000 

 

테스트4

1

2000 

 

테스트5

1

3000 

 

테스트5

1

 3000 

 

 

1

 3000 

 

 

5

9000




◈ 설명


현재 결과 테이블을 보게 된다면  ROLLUP 보다 많은 결과를 보여줍니다




CUBE는 모든 가능한 조합에 대한 합계 정보를 추출하기 때문에 ROLLUP보다 많은 결과를 보여주게 됩니다


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday