MySQL
MySQL - group by에서 where 안 먹힐 때 해결방법! : having 사용
Cong_S
2022. 5. 17. 18:00
-- 각 고객별로 주문 금액 평균이 300달러 이상인 데이터만 가져오시오.
select c.first_name, c.last_name, avg(o.amount)
from customers c
left join orders o
on c.id = o.customer_id
group by c.id
where avg(o.amount) > 300 ;
-- group by 한 후의 결과를 가져올 때에는 where이 아닌 having 을 쓴다.
기존에 알던 대로 group by 에 where 을 사용하면 오류가 나게 된다.
이 때는 아래와 같이 group by 뒤에 having 을 사용하면 해결된다.
-- 각 고객별로 주문 금액 평균이 300달러 이상인 데이터만 가져오시오.
select c.first_name, c.last_name, avg(o.amount)
from customers c
left join orders o
on c.id = o.customer_id
group by c.id having avg(o.amount) > 300 ;
-- group by 한 후의 결과를 가져올 때에는 where이 아닌 having 을 쓴다.
having 뒤에 조건문만 작성하면 된다.