일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 도커
- vscode
- 자바 리스트
- tomcat
- 이클립스 설정
- JavaScript
- elasticsearch
- 형변환
- Java
- 자바
- CSS
- 데이터베이스
- Eclipse
- 엑셀
- 이클립스
- 엘라스틱서치
- db
- 자바스크립트
- eclipse 설정
- Excel
- 쿼리
- JSP
- 한글 깨짐
- HTML
- 인텔리제이
- spring form
- spring 오류
- jQuery
- docker
- java 오류
Archives
- Today
- Total
개발노트
HAVING 본문
반응형
HAVING
: GROUP BY 되거나 집계된 데이터 필터링
SELECT GROUP_NAME,
ROUND(AVG(HEIGHT), 2),
MAX(HEIGHT),
MIN(HEIGHT),
AVG(FOOT_SIZE)
FROM ARTIST
GROUP BY GROUP_NAME
HAVING AVG(FOOT_SIZE) > 240;
HAVING과 GROUP BY 순서를 바꿔도 실행이 된다.
(논리적으로 GROUP BY 먼저 수행한 후 HAVING이 처리된다.)
SELECT GROUP_NAME,
ROUND(AVG(HEIGHT), 2),
MAX(HEIGHT),
MIN(HEIGHT),
AVG(FOOT_SIZE)
FROM ARTIST
HAVING AVG(FOOT_SIZE) > 240
GROUP BY GROUP_NAME;
HAVING이 GROUP BY 없이 단독으로 사용 가능
(GROUP BY가 없어도 집계만 되어있으면 HAVING 사용 가능)
SELECT MAX(HEIGHT),
MIN(HEIGHT)
FROM ARTIST
HAVING COUNT(*) > 0; -- 조회되는 행이 1개라도 있으면 집계를 해라,
HAVING과 WHERE 절과의 차이
![]() |
![]() |
실행 결과 같음
[차이] where절이 group by 전에 실행된다
HAVING : group by 하거나 집계하지 않았을때 사용 불가 |
WHERE : group by 집계 이전에 실행되어 집계 함수 사용 불가 |
![]() |
![]() |
반응형