Mode 구조 살펴보기
WAU를 볼 수 있도록 작성된 쿼리문이다. 이미 작성된 쿼리를 직접 작성해보며 공부를 할 수 있다.
Mode 가입을 완료하면 자기 공간에서 쿼리를 작성할 수 있고, 기본적인 데이터베이스가 모두 들어있는 것을 볼 수 있다.
위와 같이 테이블을 찾아 데이터를 확인해보며, 문제에 제시된 데이터들의 구조와 특징을 파악해볼 수 있다.
문제해결하기 1
가설 1 . 신규가입자(growth)가 감소해서 WAU가 감소했다.
주별 신규 가입자 수(all users)와 활성 사용자 가입자 수(active users)를 비교한 차트이다.
전반적으로 주말/주중이 나뉘며 비슷한 모습을 보여준다. 그런데 8월 3일 이후 약간 다른 양상을 보이는 부분이 있다.
먼저 위 차트를 보기 위한 쿼리를 작성해보자.
MySQL이 아닌 다른 툴을 쓰고 있어서, 새로운 함수를 배우며 쿼리를 작성했다.
- 먼저 user table을 가져온다. 일간 가입자 수/활성 가입자 수를 보기 위해서다.
- WHERE 절에 기간을 먼저 확인해서 지정해준다.
회사의 데이터는 기간별로 저장되지 않은 경우가 많기에, 항상 기간먼저 세팅하도록 한다. - 일간 가입자 수를 보기 위해 DATE_TRUNC() 함수를 사용했다.
- 일별로 가입자 수 합을 보기 위해 COUNT(user_id) 를 사용했다.(가입 시점에 따라 1개의 아이디만 생성되므로 distinct는 쓰지 않음)
- 가입자 중에서도 '활성화된' 가입자만 따로 보기 위해, CASE WHEN 을 사용했다.
활성상태가 null 이 아니면, id 를 합산하고 / 그렇지 않은 경우는 null 로 처리!
✏️ 더 배우면 좋을 것 : SQL에서 증감율을 구하는 쿼리 작성
=> 일별/주별 증감율을 확인해서 가설이 정말 맞는지 틀린지 확인할 수 있음 좋겠다.
강의에 설명되어 있지 않으니, 따로 공부할 것.
728x90
'SQL' 카테고리의 다른 글
[where절 조건] in으로 원하는 value 만 묶기 (0) | 2023.03.18 |
---|---|
[Mode Project 1] A Drop in Engagement (4) (0) | 2023.03.07 |
[Mode Project 1] A Drop in Engagement (3) (0) | 2023.03.07 |
[Mode Project 1] A Drop in Engagement (1) (0) | 2023.03.07 |
[Mode Project 1] A Drop in Engagement (시작!) (0) | 2023.03.07 |