
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
아래의 피드백을 받고 답안대로 sql문을 작성했으나, 여전히 결과물 예시와 다른 답이 나옵니다.
결과물 예시의 5 Napkin Burger의 price_group 은 price_group2 지만, 제 sql은 price_group3를 도출합니다.
데이터가 달라서 그런 것인지, 제가 잘못 구한 것인지 알고 싶습니다.
피드백 내용
답안 쿼리에서는 내부 쿼리에서 각 레스토랑별로 price와 age의 평균을 미리 계산한 다음, 외부 쿼리에서 이 평균 값을 기반으로 CASE 문을 사용해 그룹을 지정합니다.
작성한 코드 및 에러 메세지
select restaurant_name,
case when avg_price <= 5000 then 'price_group1'
when avg_price <= 10000 then 'price_group2'
when avg_price <= 30000 then 'price_group3'
else 'price_group4' end price_group,
case when avg_age < 30 then 'age_group1'
when avg_age < 40 then 'age_group2'
when avg_age < 50 then 'age_group3'
else 'age_group4' end age_group
from
(
select f.restaurant_name, avg(f.price) avg_price, avg(c.age) avg_age
from food_orders f left join customers c on f.customer_id = c.customer_id
group by 1
order by 1
) a
