일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SQL자격증
- group by
- 코딩독학
- 문과코딩
- 마케터코딩
- SQL D
- DEBEAVER
- SQL D자격증
- 문과SQL
- inner join
- SQL 분석함수
- SQL D 자격증
- PostgreSQL
- 문과 코딩독학
- 조인
- DBeaver
- 마케터SQL
- SQL문과생
- SQL혼자서
- SQL D 독학
- SQL독학으로 자격증
- MySQL
- SQL COUNT함수
- sql독학
- outer join
- sql함수
- SQL
- ROLLUP함수
- 마케팅코딩
- join
- Today
- Total
문과생의 우당탕탕 공부 기록
12. CUBE절) 다차원 소계를 출력해보자 본문
CUBE 절의 의미
- 지정된 GROUPING 컬럼의 다차원 소계를 생성하는데 사용된다. 간단한 문법으로 다차원 소계를 출력할 수 있다.
CUBE절 문법
- CUBE를 여러 값으로 취할 수도 있고, -> GROUP BY CUBE (C1, C2, C3) ;
- CUBE를 특정값분리하여 지정할 수 있음-> GROUP BY C1, CUBE (C2, C3);
쉽게 말해, CUBE(C1, C2, C3)를 GROUPING SETS로 표현하면 총 8개의 소계가 발생한다.
GROUPING SETS (
(C1, C2, C3),
(C1, C2),
(C1, C3),
(C2, C3),
(C1),
(C2),
(C3),
()
)
의 값이랑 똑같다.
=> 즉, CUBE절 내 인자의 개수가 3개이면, 2의 3승의 소계(총8개)가 발생하게된다. 2의 N승값이 된다는 것이다.
CUBE절 실습
큐브는 조건을 다면체로 바라보는 것이다.
해당 쿼리를 실행시키고, 결과값을 보자.
CUBE(A,B) => A,B로 / A로 / B로/ 총합계
BRAND,SEGMENT 별로
BRAND별로
SEGMENT별로
총합
이렇게 나오는데, ORDER BY를 해서 ABC-> XYZ->NULL 순으로 되어서 좀 순서가 엉망이다.
어쨌든 저 위에 언급한 대로 결과값이 나온다.
쉽게말해, CUBE는 GROUP BY 절 합계 + 브랜드 별 + SEMENT 별 + 전체합
부분 CUBE
그러면 두개 다 CUBE에 넣지않고, 하나는 밖으로 빼고 하나는 CUBE로 넣어보자.
그룹바이로 BRAND 빼고, SEGMENT 만 CUBE로 들어가는 것이다.
* SEGMENT 기준으로 하지않고, 전체 총합이 나오지 않는다.
'SQL 공부 > 조인과 집계 데이터' 카테고리의 다른 글
13. 분석함수란) COUNT 함수의 사용 방법 (0) | 2023.01.27 |
---|---|
11. ROLL UP 절) ROLLUP 함수의 의미와 사용방법 쉽게 이해하기 (0) | 2023.01.22 |
10 . GROUPING SET ) 조인 집계를 활용하기, GROUP BY 종류 (0) | 2023.01.18 |
09. HAVING 절) HAVING절의 실행 순서는 어떻게될까? (0) | 2023.01.15 |
08. GROUP BY 절) 언제, 어떻게, 왜 사용될까? (0) | 2023.01.15 |