본문 바로가기

SQL

쉽고 빠른 SQL (2)

1. 식당별 평균 음식 주문 금액과 주문자의 평균 연령을 기반으로 Segmentation 하기

  • 평균 음식 주문 금액 기준 : 5,000 / 10,000 / 20,000 / 30,000 초과
  • 평균 연령 : ~ 20대 / 30대 / 40대 / 50대 이상
  • 두 테이블 모두에 데이터가 있는 경우만 조회, 식당 이름 순으로 오름차순 정렬
select f.restaurant_name,
		case when avg(f.price) <= 5000 then 'price_group1'
			when avg(f.price) <= 10000 then 'price_group2'
			when avg(f.price) <= 20000 then 'price_group3'
			when avg(f.price) <= 30000 then 'price_group3'
			else 'price_group5' end price_group,
		case when avg(c.age) <= 29 then 'age_group1'
			when avg(c.age) <= 39 then 'age_group2'
			when avg(c.age) <= 49 then 'age_group3'
			else 'age_group4' end age_group
from food_orders f
	inner join customers c
		on f.customer_id = c.customer_id
group by 1
order by 1 asc