일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 대시보드
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 자동화
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 전환율
- #패스트캠퍼스 #내일배움카드취업 #국비지원교육 #K디지털기초역량훈련 # 데이터시각화강의
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery
문과생의 데이터 연습
[MySQL] Rollup 함수 사용하기! (1) 본문
MySQL에서 Rollup 함수 쓰는법!

실습은 MySQL workbench에서 진행합니다!
With Rollup
Oracle과 달리 MySQL에서는 with rollup 함수로 with를 추가해줘야 합니다!
1.) 실습 데이터 불러오기
USE world ;
SELECT *
FROM country ;
MySQL workbench에서 기본으로 제공하는 world database를 불러옵니다.
table은 country 데이터를 사용했습니다.
2.) with rollup 함수 써보기 (1개 계층구조)
(1)
SELECT Continent, round(sum(GNP))
FROM country
WHERE Continent != 'Antarctica'
GROUP BY Continent ;
(2)
SELECT Continent, round(sum(GNP))
FROM country
WHERE Continent != 'Antarctica'
GROUP BY Continent WITH ROLLUP ;
(1)은 group by 함수 (2)는 group by에 with rollup함수를 추가했습니다!
대륙별(Continent)로 GNP의 합계를 계산한 결과입니다.with rollup 함수는 추가로 합계까지 보여주고 있습니다!
차이를 아시겠나요?

3.) with rollup 함수 써보기 (2개 계층구조)
이번에는 인자 1개를 더 추가해서 총 2개의 인자를 넣어보죠
SELECT Continent, Region, round(sum(GNP)) as GNP_total
FROM country
WHERE Continent != 'Antarctica'
GROUP BY Continent, Region WITH ROLLUP ;
지역(Region)을 추가했습니다!
# Continent + Region 별 GNP 합계 (무색깔)
# Continent 별 GNP 합계 (파랑색)
# Continent + Region 전체 합계 (노랑색)
총 3가지 경우가 나옵니다.
아! 그리고 계층구조라고 말한 이유는 with rollup 함수는 인자의 순서가 변하면 달라지기 때문입니다. 즉 Continent, Region의 순서를 바꾸면 달라집니다!

4.) with rollup 함수 써보기 (3개 계층구조)
하나 더 가봅시다 ㅋㅋ
SELECT Continent, Region, GovernmentForm, round(sum(GNP)) as GNP_total
FROM country
WHERE Continent != 'Antarctica'
GROUP BY Continent, Region, GovernmentForm WITH ROLLUP ;
Government Form(정부형태)를 추가합시다.
우리나라는 공화국이겠죠?
어후.. 결과가 너무 길어서 일부만 가져왔습니다!

# Continent + Region + GovernmentForm 별 GNP 합계 (무색깔)
# Continent 별 GNP 합계 (초록색)
# Continent + Region 별 GNP 합계 (파랑색)
# Continent + Region + GovernmentForm 전체 합계 (노랑색)
총 4개가 나옵니다.
이렇게 해서 기본적은 with rollup 사용법을 알아봤습니다.
다음 글에서는 with rollup의 심화(?) 내용을 다뤄보겠습니다.

참고로 antarctica은 남극입니다 ㅋㅋ 남극은 GNP가 당연히...0이니깐 그래서 제외시켰습니다~
'SQL > MySQL' 카테고리의 다른 글
Lag & Lead 함수 사용하기! [MySQL] (2) (0) | 2022.04.29 |
---|---|
[MySQL] Lag & Lead 함수 사용하기! (1) (0) | 2022.04.29 |
Rank 함수 사용하기! [MySQL] (2) (0) | 2022.04.28 |
Rank 함수 사용하기! [MySQL] (1) (0) | 2022.04.28 |
Rollup 함수 사용하기! [MySQL] (2) (1) | 2022.04.28 |