인프런 커뮤니티 질문&답변

SQL 너 뭐 돼?님의 프로필 이미지
SQL 너 뭐 돼?

작성한 질문수

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

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

작성

·

186

·

수정됨

0

안녕하세요 선수 강의에서 언급한 내용일 수도있는데 선수 강의를 수강하지 않아 질문드립니다!

매출분석 01의 상품별 매출액 과 상품별 카테고리별 전체 매출액 대비 비율 강의에서 질문있습니다

 

상품별 카테고리별 전체 매출액 대비 비율은
sum_amount(product 기준으로 groupby한 상품별 매출액) / sum(sum_amount) over (partition by category_name) as product_category_ratio 로 구했는데

partition by가 아니라 group by category_name 로 분석할 수는 없는건가요?
sum(sum_amount) over (partition by category_name) 이 부분 자체가 작은 groupby를 진행한? 결과인 걸까요

 

over partition by와 group by간의 차이, 사용용도의 차이가 궁금합니다

 

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

analytic function과 group by의 차이는 선행 강의인 데이터 분석 SQL Fundamental에서 보다 자세히 설명드리지만, 간략히 설명드리면,

analytic function은 from 절의 레벨을 변경하지 않으면서 sum(), avg(), count() 와 같은 aggregate 함수 또는 여러 analytic 함수를 수행할 수 있습니다. 반면에 group by 는 group by 절에 나열된 컬럼값으로 from 절의 레벨이 변경됩니다. 그리고 select 절에 group by 절에 나열된 컬럼과 aggregate 함수만이 올 수 있습니다. 때문에 group by가 아니라 analytic function을 이용하였습니다.

본 강의는 선행 강의를 듣지 않으셨다면, 실습을 따라하기가 어려우실 수 있습니다.

실습 강의가 많은 analytic function과 group by 로 구성되어 있습니다. 인터넷에서 자료를 참조하셔서 이해하실 수 도 있지만, 실습 수준이 기본적인 analytic function 이해로는 어려울 것 같습니다.

제 생각엔 analytic function과 group by의 차이가 확실하지 않으시다면 선행 강의를 먼저 들으시는게 가장 좋을 것 같습니다. 강의가 진행 될 수록 더 어려운 SQL이 나옵니다. 만약 선행 강의를 원하지 않으시면(들으시면 좋을것 같지만 ^^;;) 부득이 하지만, 환불을 요청하시면 어떨까 싶습니다.

만약 강의 자료를 다운로드 받으셔서 환불이 어려우시면 더 이상 강의를 듣지 마시고 저에게 말씀해 주시면 제가 인프런에 연락해서 조치를 부탁하겠습니다.

 

감사합니다.

 

SQL 너 뭐 돼?님의 프로필 이미지
SQL 너 뭐 돼?

작성한 질문수

질문하기