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

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

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

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

全部评论

相关推荐

03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
kaoyu:腾讯基本都没hc了,只有零星捞人的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务