내일배움캠프 강의 숙제

[2024/12/20]엑셀보다 쉽고 빠른 SQL 4주차 숙제

essay2892 2024. 12. 20. 17:47

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

  • 평균 음식 주문 금액 기준 : 5,000 이하 / ~10,000 / ~30,000 / 30,000 초과
  • 평균 연령 : ~ 20대 / 30대 / 40대 / 50대 이상
  • 두 테이블 모두에 데이터가 있는 경우만 조회, 식당 이름 순으로 오름차순 정렬
더보기

SELECT restaurant_name,

case when avg_price <= 5000 then 'price_group_1'

when avg_price > 5000 and avg_price <= 10000 then 'price_group_2'

when avg_price > 10000 and avg_price <= 30000 then 'price_group_3'

when avg_price > 30000 then 'price_group_4'

end price_group,

case when avg_age < 30 then 'age_group_1'

when avg_price >= 30 and avg_price < 40 then 'age_group_2'

when avg_price >= 40 and avg_price < 50 then 'age_group_3'

when avg_price >= 50 then 'age_group_4'

end age_group

FROM

(

SELECT fo.restaurant_name,

fo.price,

c.age,

avg(fo.price) avg_price,

avg(c.age) avg_age

from food_orders fo inner join customers c on fo.customer_id = c.customer_id

group by 1

) a

order by 1

#