| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 프로그래머스 #등차수열의 특정한 항만 더하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부
- 프로그래머스 #있었는데요 없었습니다 #DB #MySQL #알고리즘 #쿼리문 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #중복된 문자 제거 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #배열에서 문자열 대소문자 변환하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #길이에 따른 연산 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #조건에 맞는 사용자와 총 거래금액 조회하기 #알고리즘 #Mysql #DB #쿼리문 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #배열 회전시키기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #카테고리 별 도서 판매량 집계하기 #알고리즘 #쿼리문 #MySQL #코린이 #개발자 #study #취준
- 프로그래머스 #조건에 맞게 수열 변환하기 1 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #x 사이의 개수 #알고리즘 #자바 #Java #코린이 #개발자 #study
- 프로그래머스 #배열만들기 5 #알고리즘 #study #Java #코린이 #개발자 #성장 #공부
- 프로그래머스 #문자열 뒤집기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #할 일 목록 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 파이썬 #input() #sys.stdin.readline() #공부 #study
- 프로그래머스 #1로 만들기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #푸드 파이트 대회 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #합성수 찾기 #알고리즘 #Java #자바 #stiudy #코린이 #개발자 #공부 #성장
- 프로그래머스 #소수 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 백준 #
- 프로그래머스 #조건에 맞는 개발자 찾기 #MySQL #쿼리문 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #배열의 원소만큼 추가하기 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #수열과 구간 쿼리1 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #날짜 비교하기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #알고리즘 #ad 제거하기 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #오랜 기간 보호한 동물(1) #알고리즘 #MySQL #DB #쿼리문 #개발자 #study #성장 #코린이
- 프로그래머스 #부분 문자열 이어 붙여 문자열 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #세로 읽기 #알고리즘 #개발자 #코린이 #study #성장 #Java #자바
- 프로그래머스 #간단한 식 계산하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 코린이 #개발자 #study
- 프로그래머스 #조건별로 분류하여 주문상태 출력하기 #MySQL #쿼리문 #알고리즘 #코린이 #개발자 #study #취준
- Today
- Total
luke
[MySQL] - HAVING, WITH ROLLUP (GOROUP BY) 본문
[MySQL] - HAVING, WITH ROLLUP (GOROUP BY)
오늘은 GROUP BY와 함께 쓰는 HAVING, WITH ROLLUP에 대해 정리하려 한다.
HAVING
- WHERE 과 비슷한 개념으로 조건을 제한한다.
- 집계 함수에 대해서 조건 제한하는 편리한 개념을 제공한다.
- HAVING절은 반드시 GROUP BY절 다음에 나와야 한다.
그럼 바로 예시를 들어 보겠다.
✔️<예시 HAVING>
SELECT country, MAX(population)
FROM world
GROUP BY country
HAVING MAX(population) > 60000000
각 country 컬럼의 population 컬럼 최대값들을 추출하는데 population > 60000000 인 조건에 충족한 값들만 추출한다.
<결과>


결과를 비교해 보면 첫번째 결과 HAVING을 쓰기 전에는 모든 population 최대값 들이 나온 걸 확인할 수 있다.
하지만 두번째 결과 HAVING을 사용해 HAVING MAX(population) > 60000000의 조건에 충족한 값들만 나온 걸 확인할 수 있다.
WITH ROLLUP
- 총합 또는 중간합계가 필요할 경우 사용한다.
- GROUP BY절과 함께 WITH ROLLUP을 사용한다.
- SUM, AVG 등 사용 가능
✔️<예시 WITH ROLLUP (전체 총계)>
SELECT country, SUM(population)
FROM world
GROUP BY country WITH ROLLUP
각 coyntry 컬럼의 population 컬럼 값들을 합하여 총합을 나타낸다.
(중복되는 country컬럼이 있다면 a = 100, a = 200 이 둘을 합하여 a = 300으로 나오며 모든 country컬럼의 값을 합한 결과를 보여준다.)
<결과>

결과를 확인해 보면 마지막 행에 총합계가 출력된 걸 확인할 수 있다.
✔️<예시 WITH ROLLUP (부분 소계)>
SELECT country, city, SUM(population)
FROM world
GROUP BY country, city WITH ROLLUP
위 내용과 같지만 city라는 컬럼이 하나 추가되어 city컬럼 종류에 따라 값들이 나오며 총합이 나온다.
<결과>

결과를 확인해 보면 각 country컬럼의 다른 city 값들과 population 값들을 각각 출력하며 마지막으로는
중복된 country 컬럼 값의 합을 보여주고 최종적으로는 모든 값들을 합한 값을 출력한다.
'DB > MySQL' 카테고리의 다른 글
| [MySQL] - MAX(), MIN() 최대 값, 최소 값 (0) | 2024.09.21 |
|---|---|
| [MySQL] - LENGTH(), CONCAT(), LOCATE(), REPLACE() (0) | 2024.06.04 |
| [MySQL] - GROUP BY (그룹화 데이터 조회) (0) | 2024.06.01 |
| [MySQL] - ORDER BY, LIMIT (오름차순, 내림차순, 출력 개수 제한) (0) | 2024.05.21 |
| [MySQL] - Sub Query, ANY, ALL (서브쿼리, ANY, ALL) (0) | 2024.05.20 |