题解 | #计算用户的平均次日留存率#

计算用户的平均次日留存率

https://www.nowcoder.com/practice/126083961ae0415fbde061d7ebbde453

select count(q2.date)/count(q1.date)
from (
    select distinct q1.device_id,q1.date
    from question_practice_detail as q1
) as q1
left join (
    select distinct q1.device_id,q1.date
    from question_practice_detail as q1
) as q2
on q1.device_id=q2.device_id
    and datediff(q1.date,q2.date)=1

容易出错和忽略的点在于没有对一个人同一天的刷题数进行过滤,先用

select distinct q1.device_id,q1.date
    from question_practice_detail as q1

将每个用户刷过题的日期过滤出来,然后使用这两个表对照,就可以得到每个用户刷题后一天再次刷题的次数

全部评论

相关推荐

牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
菜菜狗🐶:双非之光
找工作,你会甘心进小厂还...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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