수강날짜 20-07-29 (목표 20-07-28 D+1)
강의명 : 08 Group by절
강의명 : 09 Having 절
GROUP BY절은 SELECT 문에서 반환된 행을 그룹을 나눈다. 각 그룹에 대한 합계, 평균, 카운트 등을 계산할 수 있다.
GROUP BY절 문법
SELECT COLUMN_1
, 집계함수(COLUMN_2)
from TABLE_NAME
GROUP BY COLUMN_1
실습
select customer_id
from payment
group by customer_id
중복 값이 제거된 CUSTOMER_ID를 구할 수 있다.
실습1
거래액이 가장 많은 고객 순으로 출력
select
customer_id
, SUM(amount) as amount_sum
from payment
group by customer_id
order by SUM(amount) desc;
GROUP BY절과 함꼐 HAVING절을 사용하여 GROUP BY의 결과를 특정 조건으로 필터링 하는 기능을한다.
HAVING절 문법
SELECT COLUMN_1
, 집계함수(COLUMN_2)
from TABLE_NAME
GROUP BY COLUMN_1
having 조건식;
실습1
합이 200이 넘는 Customer_id와 그 량을 출력하라
select
customer_id
, SUM(amount) as amount_sum
from payment
group by customer_id
having SUM(amount) > 200;
실습2
Stor_id별 고객수가 300 이상인 store_id를 출력하라
select store_id
, count(customer_id) as COUNT
from customer c
group by store_id
having COUNT(customer_id) > 300