inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

다양한 사례로 익히는 SQL 데이터 분석

월단위 카테고리별 매출액과 주문건수 및 전체매출액 대비 비율 SQL로 구하기

집계 함수 order by

308

정성훈

작성한 질문수 31

0

with temp_01

as (

select d.category_name,

to_char(date_trunc('month', a.order_date), 'yyyymm') as month_day,

sum(amount) as sum_amount,

count(distinct a.order_id) as monthly_ord_cnt

from orders a

join order_items b on a.order_id = b.order_id

join products c on b.product_id = c.product_id

join categories d on c.category_id = d.category_id

group by d.category_name, to_char(date_trunc('month', a.order_date), 'yyyymm')

)

select *,

sum(sum_amount) over (partition by month_day order by month_day) as temp1,

sum(sum_amount) over (partition by month_day) as temp2,

sum_amount / sum(sum_amount) over (partition by month_day) as ratio

from temp_01

집계 어날리틱 함수는 order by를 사용하면 파티션 내에서 누적합이 되는것으로 알고 있었는데 왜 이렇게 나올까요...? 제가 혹시 놓친게 있는 걸까요

sql postgresql dbms/rdbms 퍼포먼스-마케팅 데이터-엔지니어링

답변 1

1

권 철민

analytic 사용시 partition by month_day order by month_day와 같이 partition by와 orderby의 컬럼이 모두 month_day로 같습니다. month_day로 partition이 되면 동일한 month_day가 모이게 되는데, 이 동일한 month_day에서 다시 order by month_day는 모두 동일한 month_day이기 때문에 총합이 나오게 됩니다(즉 ordering 순서가 다 동일합니다)

아래와 같이 다른 컬럼으로 order by를 수행하면 누적합이 됩니다.

sum(sum_amount) over (partition by month_day order by sum_amount) as temp1,

 

0

정성훈

partition 절과 order by 절에 같은 컬럼을 대상으로 한다면 해당 파티션의 총합이 된다고 생각하면 무리가 없을까요?

"주문별 고객별 연관 상품 추출 SQL로 구하기-02" 수업 질문

0

52

2

쿼리 질문있습니다!!

0

49

2

없는강의요청해도됩니까,,

0

91

2

아래와 동일한 질문에 대한 추가질문입니다

0

71

2

cnt/max로 구한 결과의 차이

0

101

2

쿼리에 대한 질문이 있습니다.

0

116

2

퍼널 질문드립니다.

0

113

1

ADSP자격증

0

283

2

특정 스키마에서 생성한 편집기의 쿼리를 판다스에 삽입하는 방법

0

161

1

백업파일 테이블 생성 오류

0

235

1

"사용자별 특정 상품 주문시 함께 가장 많이 주문된 다른 상품 추출하기"에서 조건관련..

0

162

1

Plotly을 이용해 treemap시각화시 공유사항

0

278

2

월단위 카테고리별 매출액과 주문건수 및 전체매출액 대비 비율 sql로 구하기 수업 중 질문이 있습니다.

0

250

1

with 절 질문

0

240

1

데이터 분석 SQL Fundamentals 강의 할인 문의

0

215

1

리텐션 구하는 방법 문의

0

215

1

캐글데이터 Postgresql 사용

0

356

2

mau 구할때 group by 사용안해도 count 집계함수가 왜 가능한지 모르겠습니다.

0

262

1

매출분석 1에서 partition by와 group by의 차이

0

355

1

postgres 설치 오류

0

319

1

맥 계정에서 postgres 접속 시 비밀번호 입력 실패현상

1

543

2

pandas 연계시 오류.....

0

1246

3

시각화 그래프가 안보여요

0

300

1

ntile 정규분포에 관하여 ... 향후 일을 하게 될 시

0

359

1