
마지막 5-7 실습에 관해 질문이 있습니다. 처음 실습 쿼리를 다음과 같이 작성을 했는데, 결과가 다르게 나오더라고요. 실습해석과의 차이가 왜 발생하는지 궁금합니다.
select b.cuisine_type ,
max(if(b.change_age=10, b.cnt_order,0)) "10대",
max(if(b.change_age=20, b.cnt_order,0)) "20대",
max(if(b.change_age=30, b.cnt_order,0)) "30대",
max(if(b.change_age=40, b.cnt_order,0)) "40대",
max(if(b.change_age=50, b.cnt_order,0)) "50대"
from
(
select a.cuisine_type ,
case when age between 10 and 19 then 10
when age between 20 and 29 then 20
when age between 30 and 39 then 30
when age between 40 and 49 then 40
when age between 50 and 59 then 50 end change_age,
a.cnt_order
from
(
select fo.cuisine_type ,
c.age,
count(1) cnt_order
from food_orders fo inner join customers c on fo.customer_id = c.customer_id
where c.age between 10 and 59
group by 1, 2
) a
) b
group by 1