最终是要根据date进行分组。例如当date=2020-10-12时,这一天首次登录且第二天也登录了的用户则为次日留存的新用户。假设用户1首日登录日期为2020-10-12,且他第二天也登陆了,那么(用户1,2020-10-12)就满足条件“IN (SELECT user_id,MIN(date) FROM login GROUP BY user_id)”,分母就会纳入用户1;但是(用户1,2020-10-12)不满足条件“in(select user_id,date_add(min(date),interval 1 day)from login group by user_id) ”,因为这个条件对应用户1就是(用户1,2020-10-13),所以分子就取不到数,也就是这一天的新用户如果按这个条件筛选的话,分子一定为0,导致计算2020-10-12这一天的新用户次日留存率时结果始终为0;
1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务