| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 비전공자마케터
- 마케팅이슈
- DA광고
- 마케팅
- SQLD
- 마케팅자격증
- SQL자격증
- 네이버업데이트
- 마케터자격증
- 온라인마케터
- 마케터용어
- sqld시험
- 비전공자SQLD
- 자격증공부
- 마케터
- 디스플래이광고
- GA4
- 온라인광고
- 네이버검색광고
- 카카오모먼트
- 네이버
- 카카오
- 네이버광고
- 네이버이슈
- 네이버파워링크
- 온라인마케팅
- 네이버마케팅
- 마케터공부
- 마케터실무
- 네이버ai검색
Archives
- Today
- Total
주케터의 메모장
[SQLD] 그룹 함수 ROLLUP,CUBE,GROUPING SETS 에 대해 알아보자! 본문
320x100
안녕하세요
주케터 입니다!
벌써 9월이 다가왔네요.
가을 날씨가 한걸음 더 다가온 것 같아요!
오늘은 SQLD 공부를 하면서 헷갈리기 쉬운
그룹함수에 대해 알아보려고 합니다!

바로 고고!
그룹 함수란 데이터를 GROUP BY하여 나타낼 수 있는 데이터를 구하는 함수 입니다!
역할에 따라 구분하면 집계 함수와 소계(총계)함수로 구분을 지을 수 있어요
| 집계함수 | COUNT, SUM, AVG, MAX, MIN 등 |
| 소계(총계)함수 | ROLLUP,CUBE,GROUPING SETS 등 |
그중 오늘은 소계(총계)함수를 배워볼까요?
1. ROLLUP
소그룹간의 소계 및 총계를 계산하는 함수입니다.
| ROLLUP (A) | A로 그룹핑 총합계 |
| ROLLUP (A,B) | A,B로 그룹핑 A로 그룹핑 총합계 |
| ROLLUP (A,B,C) | A,B,C로 그룹핑 A,B로 그룹핑 A로 그룹핑 총합계 |
위와 같이 나오는데요 ROLLUP(A,B,C)를 보시면 아시겠지만
롤업함수에서는 첫번째 순서가 매우 중요한 걸 보실 수 있었고
총합계가 무조건 포함이 된 걸 기억하시면 좋을 것 같아요.
2. CUBE
소그룹간의 소계 및 총계를 다차원적으로 계산할 수 있는 함수입니다.
GROUP BY가 일방향으로 그룹핑하며 소계를 구했다면
큐브는 조합할 수 있는 모든 그룹에 대한 소계를 구합니다.
즉, 많이 복잡하게 구해요!!
| CUBE (A) | A로 그룹핑 총합계 |
| CUBE (A,B) | A,B로 그룹핑 A로 그룹핑 B로 그룹핑 총합계 |
| CUBE (A,B,C) | A,B,C 그룹핑 A,B로 그룹핑 A,C로 그룹핑 B,C로 그룹핑 A로 그룹핑 B로 그룹핑 C로 그룹핑 총합계 |
그래서 롤업 함수와 달리 CUBE는 순서가 중요하지 않아요!
3. GROUPING SETS
특정 항목에 대한 소계를 계산하는 함수 입니다.
인자값으로 ROLLUP이나 CUBE를 사용할 수 있습니다.
| GROUPING SETS (A,B) | A로 그룹핑 B로 그룹핑 |
| GROUPING SETS (A,B,( )) | A로 그룹핑 B로 그룹핑 총합계 |
| GROUPING SETS (A,ROLLUP(B)) | A로 그룹핑 B로 그룹핑 총합계 |
| GROUPING SETS (A,ROLLUP(B,C)) | A로 그룹핑 B,C로 그룹핑 B로 그룹핑 총합계 |
| GROUPING SETS (A,B,ROLLUP(C)) | A로 그룹핑 B로 그룹핑 C로 그룹핑 총합계 |
그냥 GROUPING SETS만을 쓰게되면 총합계가 나오지 않는 독특한 친구죠?
이 친구도 CUBE와 동일하게 인수의 순서가 바뀌어도 동일하게 나온다는 특징이 있어요
꼭 숙지해서 실수없도록 해봐요 :)
오늘은 여기까지 입니다.
감사합니다.
그럼 안녕~!

728x90
'TEST > SQLD' 카테고리의 다른 글
| [SQLD] 시험치고 온 이야기(준비물, 화장실, 꿀팁 등) (0) | 2023.09.25 |
|---|---|
| [SQLD] Nested Loop Join / Hash Join / Sort Merge Join 에 대해서 알아보자! (0) | 2023.09.11 |
| [SQLD] 명령어 DROP/TRUNCATE/DELETE의 차이점에 대해 쉽게 알아보자! (0) | 2023.08.31 |
| [SQLD] 비전공자의 SQLD 공부 서브쿼리란 무엇일까?(스칼라,인라인,중첩) 참고 인강 有 (0) | 2023.08.17 |
| [SQLD] 비전공자의 SQLD 공부 : 반정규화(De-Normalization)에 대해 알아보자! (0) | 2023.08.10 |