커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
최종과제 결과물이 달라요.
엑셀보다 쉽고 빠른 SQL v0
5주차
북마크
송*익
댓글
3
추천
0
조회수
33
조회수
33
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


마지막주차 과제를 수행하고 있는데요.

강사님이 올려주신 결과랑 제가 산출해낸 피벗테이블 결과가 다릅니다.


그래서 아래 세 개의 결과화면을 첨부했는데요.




  1. 강사님 결과


스파르타 즉문즉답

2 . 제 결과

스파르타 즉문즉답



3 . 원 데이터_2

스파르타 즉문즉답




여기서 주목해야 하는 부분은 'korean'의 20대 인원의 수만 봐도 강사님이랑 전혀 다른 값이 나왔다는걸 보실 수 있으실거에요.


분명 20대는 4명인데 왜 제 결과에서는 2명으로 나오는 걸까요?






작성한 코드 및 에러 메세지

select cuisine_type,

max(if(age_arrange='10대', cnt_age,0)) '10',

max(if(age_arrange='20대', cnt_age,0)) '20',

max(if(age_arrange='30대', cnt_age,0)) '30',

max(if(age_arrange='40대', cnt_age,0)) '40',

max(if(age_arrange='50대', cnt_age,0)) '50',

max(if(age_arrange='60대 이상', cnt_age,0)) '60 이상'

from

(

select cuisine_type,

case when new_age < 20 then '10대'

when new_age < 30 then '20대'

when new_age < 40 then '30대'

when new_age < 50 then '40대'

when new_age < 60 then '50대'

else '60대 이상' ENd "age_arrange",

cnt_age

from

(

select f.cuisine_type,

if(c.age<10, 10, c.age) new_age,

count(1) cnt_age

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

group by 1, 2

) a

) b

group by 1

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴