hyezdata 님의 블로그

Game Play Analysis IV 본문

코딩테스트

Game Play Analysis IV

hyezdata 2026. 5. 18. 14:22
# 처음 로그인 한 다음날 또 로그인 한 player/전체 플레이어
# 소수점 둘째 자리
select round(count(distinct a1.player_id)
       /(select count(distinct player_id) from activity), 2) as fraction
from activity a1
    join
    (select player_id, min(event_date) as first_login
     from activity
     group by player_id) a2
    on a1.player_id=a2.player_id
    and datediff(event_date, first_login) = 1

 

이 문제의 핵심은

플레이어의 첫 로그인 날짜 다음날에도 접속했는지

 

그래서 이전 행을 비교하는 LAG()보단,
각 플레이어의 최초 로그인 날짜 자체를 구하는 MIN(event_date)가 더 적절

 

728x90
반응형

'코딩테스트' 카테고리의 다른 글

Sales Person  (0) 2026.05.25
Customer Placing the Largest Number of Orders  (0) 2026.05.22
Trips and Users  (0) 2026.05.11
Game Play Analysis I  (0) 2026.05.07
Rising Temperature  (0) 2026.05.07