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

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

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

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

全部评论

相关推荐

04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务