반응형
Notice
Recent Posts
Recent Comments
Link
GBEY
[SQL] HAVING이란? + pgAdmin으로 연습하기 본문
반응형
HAVING이란? + pgAdmin으로 연습하기
🐸 목차
🐸 HAVING 이란?
- 집계가 완료된 데이터를 필터링 할 수 있게 해준다.
- GROUP BY 뒤에 위치한다.
아래 쿼리문에서는 WHERE 절을 사용해서 필터링 했음.
SUM(sales)로 필터링을 하고 싶은데, WHERE 절에서는 사용할 수 없음
집계는 WHERE문이 실행된 후에 실행되기 때문
SELECT company, SUM(sales)
FROM finance_table
WHERE company != 'Google'
GROUP BY company
SUM(sales)로 필터링을 하고싶다면 아래처럼 HAVING을 추가한다
주의! WHERE과 다른점은, HAVING은 집계 결과에 대해서 필터링을 한다는 점.
SELECT company, SUM(sales)
FROM finance_table
WHERE company != 'Google'
GROUP BY company
HAVING SUM(sales) > 1000;
🐸 pgAdmin에서 HAVING 연습하기
- payment 테이블에서 지불한 금액의 합이 100 이상인 고객만 가져오기
>> HAVING에 amount만 적으면 안됨!
SELECT customer_id, SUM(amount) FROM payment
GROUP BY customer_id
HAVING SUM(amount) > 100;
output:
- customer 테이블에서 고객을 300명 이상 보유한 지점을 구하기
>> COUNT() 안에는 *을 적어줘도 되고, 이해하기 쉽게 열을 명시해도 됨
SELECT store_id, COUNT(customer_id) FROM customer
GROUP BY store_id
HAVING COUNT(customer_id) > 300;
output:
반응형
'데이터분석' 카테고리의 다른 글
[SQL] AS문이란? + pgAdmin에서 연습하기 (0) | 2023.08.24 |
---|---|
[SQL] GROUP BY란? + pgAdmin으로 연습하기 (0) | 2023.08.24 |
[SQL] 기초 복습 - 집계 함수의 정의, 특징, 사용법 (1) | 2023.08.23 |
[통계학] 기초통계 복습 #1 - 변수, 분포, 평균 등 (1) | 2023.08.20 |
[SQL] Udemy SQL 부트캠프 - 종합 도전 과제 1 (1) | 2023.08.20 |