
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
강의 5-5의 [실습2]에 해당하는 부분 질문드립니다. 일단 영상으로 제공되는 강의와 강의자료의 코드도 다르고 풀이도 약간 다릅니다. 코드가 다르고 그에 따라 나오는 결과값도 다릅니다. 이 때문에 수강하는 수강생 입장에서 헷갈릴 여지가 많다고 생각합니다.
그리고 강의 영상에서는 누적합을 구한 뒤에 음식 타입별로, 주문 건수 별로 오름차순 정렬을 order by로 추가하는 부분이 나와있습니다. 그런데 이 부분은 window function을 사용하면서 (partition by cuisine_type order by cnt_order) 이 부분 때문에 이미 오름차순으로 둘 다 정렬이 된 상태이기 때문에 추가로 정렬할 필요가 없지 않나요? 아래에 강의 영상에 나온 코드를 그대로 작성해 두었습니다. 여기서 맨 아래 order by 절은 없어도 된다고 생각하는데 이 부분에 대해서 확실히 알고 싶습니다.
강의 자료와 영상이 다른 부분에 대해서도 수정이나 추가적인 설명이 필요할 것 같습니다.
(수정) 코드를 잘못 올려서 수정했습니다
select cuisine_type,
restaurant_name,
cnt_order,
sum(cnt_order) over (partition by cuisine_type) sum_cuisine_type,
sum(cnt_order) over (partition by cuisine_type order by cnt_order) cumulative_sum
from
(
select cuisine_type, restaurant_name, count(1) cnt_order
from food_orders
group by 1, 2
) a
order by cuisine_type, cnt_order
