group by된 상태에서는 group by 다음줄에 where가 되지 않는다. 에러가 나기 때문이다. 따라서 where대신 조건을 쓰고 싶다면 having을 써주면 조건을 붙일 수 있다.
-- 각 고객별로 주문 금액 평균이 300달러 이상인 사람의 이름과, 평균금액을
-- 가져오시오.
select c.first_name,c.last_name, avg(o.amount)
from customers c
join orders o
on o.customer_id = c.id
group by c.id
-- where 대신 having
having avg(o.amount) >=300;
반응형
'데이터 베이스' 카테고리의 다른 글
데이터 베이스(18) case문,if문 작성법 (0) | 2022.12.08 |
---|---|
데이터 베이스(17) null인지 확인 할 때 is null사용 (0) | 2022.12.08 |
데이터 베이스(15) 날짜데이터를 저장하는 데이터타입(date,time,datetime,timestamp) (0) | 2022.12.08 |
데이터 베이스(14) sub query 사용법 (0) | 2022.12.08 |
데이터 베이스(13) group by사용법 (0) | 2022.12.08 |