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

박찬영님의 프로필 이미지
박찬영

작성한 질문수

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

사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL 구하고 시각화 하기 - 02

사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL관련 질문

작성

·

418

·

수정됨

0

안녕하세요 강사님

사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL 구하고 시각화 하기 - 02 강의 부분에서 질문을 드리려고 하는데요.

강사님께서 monthly_user_cnt를 case when으로 범위를 자의적으로 정해서 구분을 하셨는데, 만약 파이썬을 활용하면 히스토그램을 본다던지, value_counts() 등등으로 구분 시도를 할 수 있을 것 같은데, 단지 sql로만 활용을 한다면, 이러한 구분을 어떤 방법으로 하는게 좋을지 알 수 있을까요?

예를 들어 강의에서는 1번, 2-3번, 4-8번 이렇게 구분을 하신 이유와 방법에 대해서 알고 싶습니다.

 

부가적으로 질문을 드리고 싶은게, 보통 with문을 만드실 때 group by 까지는 with 문 안에서 진행을 하시고, order by 같은 경우에는 with 밖에서 쓰시던데, with문 안에서 order by 를 안하는 이유에 대해서 있을까요?

답변 1

0

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

안녕하십니까,

  1. 예를 들어 강의에서는 1번, 2-3번, 4-8번 이렇게 구분을 하신 이유와 방법에 대해서 알고 싶습니다.

    => 아, 이게 특별한 기준은 없습니다. 하지만, 업무적으로 이렇게 나누는 기준이 있을 수 있습니다. 이건 특정 업무별로 다를수 있기 때문에 특별한 이유는 없습니다. 그리고 제가 이렇게 표현한 이유 중에 하나는 SQL의 경우 Group by와 Case when 사용해서 Group by 내에서 여러개의 구분값을 가지고 여러 컬럼으로 분석값을 추출해 내는 것이 크게 활용되므로 이러한 사례를 보여드리기 위한 SQL로 생각해 주시면 좋을 것 같습니다.

  2. 부가적으로 질문을 드리고 싶은게, 보통 with문을 만드실 때 group by 까지는 with 문 안에서 진행을 하시고, order by 같은 경우에는 with 밖에서 쓰시던데, with문 안에서 order by 를 안하는 이유에 대해서 있을까요?

    => 음, 큰 이유는 없습니다. 다만 강의 설명상 Order by를 서로 다른 컬럼으로 적용할 수 있는 경우가 있으니 with절 안보다 with절 밖에서 사용하는게 더 유연성이 있어서 그랬을 뿐입니다.

     

    감사합니다.

박찬영님의 프로필 이미지
박찬영
질문자

넵넵! 항상 감사드립니다~~

좋은 하루 보내시길 바래요~

박찬영님의 프로필 이미지
박찬영

작성한 질문수

질문하기