leet code sql 550
550. Game Play Analysis IV
문제
- 첫 로그인 후 다음 날 들어올 확률
문제 접근
- 최초 접근 → Min 함수를 이용
- date_add 함수를 활용하여 하루 이후 비교
- Mysql에서는 Interval로만 datetime 변경이 되지 않는다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 첫 로그인 이후, 다시 접속할 확률
with first_login as (
select
player_id,
min(event_date) event_date
from Activity
group by 1
)
select
convert(sum(Activity.player_id is not null)/count(first_login.player_id), decimal(3,2)) as fraction
from first_login
left join Activity
on first_login.player_id = Activity.player_id
and date_add(first_login.event_date, interval 1 day) = Activity.event_date