
답 쿼리입니다.
SELECT ROUND(COUNT(DISTINCT player_id) / (SELECT COUNT(DISTINCT player_id) FROM Activity), 2) fraction
FROM Activity
WHERE (player_id, DATE_SUB(event_date, INTERVAL 1 DAY)) IN (SELECT player_id, MIN(event_date) FROM Activity GROUP BY player_id)
where절이 굉장히 헷갈렸어요.
event_date에서 하루를 뺐을 때의 날짜가 처음 로그인한 날짜로 존재한다면 이틀을 연달아 로그인했다는 의미가 돼요. 🫢