OLAP: CUBE 연산자

SQL로 하는 데이터 기반 의사결정

Irene Ortner

Data Scientist at Applied Statistics

OLAP 소개

  • OLAP: 온라인 분석 처리
  • 더 나은 개요를 위해 데이터 집계
    • 고객별 대여 건수 집계
    • 국가·장르별 영화 평균 평점
  • 집계 결과를 보여 줄 피벗 테이블 생성
SQL로 하는 데이터 기반 의사결정

테이블 rentings_extended

| renting_id | country | genre  | rating |
|------------|---------|--------|--------|
| 2          | Belgium | Drama  | 10     |
| 32         | Belgium | Drama  | 10     |
| 203        | Austria | Drama  | 6      |
| 292        | Austria | Comedy | 8      |
| 363        | Belgium | Drama  | 7      |
| .......... | ....... | .....  | ...... |
SQL로 하는 데이터 기반 의사결정

피벗 테이블 - 영화 대여 건수

 

 

SQL로 하는 데이터 기반 의사결정

피벗 테이블과 SQL 출력

SQL로 하는 데이터 기반 의사결정

GROUP BY CUBE

SELECT country, 
       genre, 
       COUNT(*)
FROM renting_extended
GROUP BY CUBE (country, genre);
| country  | genre  | count |
|----------|--------|-------|
| Austria  | Comedy | 2     |
| Belgium  | Drama  | 15    |
| Austria  | Drama  | 4     |
| Belgium  | Comedy | 1     |
| Belgium  | null   | 16    |
| Austria  | null   | 6     |
| null     | Comedy | 3     |
| null     | Drama  | 19    |
| null     | null   | 22    |
SQL로 하는 데이터 기반 의사결정

평점 개수

SELECT country, 
       genre, 
       COUNT(rating)
FROM renting_extended
GROUP BY CUBE (country, genre);
| country  | genre  | count |
|----------|--------|-------|
| Austria  | Comedy | 1     |
| Belgium  | Drama  | 6     |
| Austria  | Drama  | 2     |
| Belgium  | Comedy | 0     |
| Belgium  | null   | 6     |
| Austria  | null   | 3     |
| null     | Comedy | 1     |
| null     | Drama  | 8     |
| null     | null   | 9     |
SQL로 하는 데이터 기반 의사결정

이제 GROUP BY CUBE를 직접 해 보세요!

SQL로 하는 데이터 기반 의사결정

Preparing Video For Download...