方法)借鉴大牛的方法,思路清晰、简洁高效,太厉害了
新登录用户的次日成功的留存率
解题公式:(第一天登录的新用户并且第二天也登录的用户)/(总用户)
- 总用户数量
select count(distinct user_id) from login
- 每个用户第一天登陆的日子(即为新用户)
select user_id,min(date) from login group by user_id
- 后一天登录还登录的新用户
SELECT user_id, DATE_ADD(MIN(date),INTERVAL 1 DAY) FROM login GROUP BY user_id
MySQL解法:SELECT ROUND(COUNT(DISTINCT user_id)*1.0 / (SELECT COUNT(DISTINCT user_id) FROM login), 3) FROM login WHERE (user_id, date) IN (SELECT user_id, DATE_ADD(MIN(date),INTERVAL 1 DAY) FROM login GROUP BY user_id);