Leetcode PostgreSQL User Activity for the Past 30 Days I
업데이트:
문제
코드
-- Write your PostgreSQL query statement below
SELECT activity_date AS day, COUNT(DISTINCT user_id) AS active_users FROM Activity
WHERE activity_date > '2019-07-27'::date - INTERVAL '30 days'
AND activity_date <= '2019-07-27'
GROUP BY activity_date
결과
설명
-
2019-07-27일 까지 최근 30일 동안 활성화 유저를 계산하는 문제이다.
-
2019-07-27일에서 30일을 차감한 날자 초과부터 해당 날 이전까지의 Activity 테이블 내 데이터가 문제의 활성 유저를 구하는 조건이 된다.
-
활성화 유저는 Activity 테이블에서 ‘open_session’과 ‘end_session’의 로그의 시간동안 세션이 유지되며 하루에 한 번의 활동을 수행해야 세션이 유지되므로, user_id가 중복되지 않은 일자까지가 활성 유저의 수가 된다.
댓글남기기