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

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

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

  • 首先,计算方式=用户次日继续浏览人数/总浏览用户人数,由于每人一天存在多次浏览,需去重
    • 去重:用户需要区分,每个人多次浏览,日期也需要区分,所以distinct device_id,date(如果日期存在时分秒,是否需要格式化?这个问题欢迎大家探讨一下);
  • 其次,当日和次日对比采取自连接,此处采取左/右外连接left join,既可以保留主表全部数据t1,也可匹配用户次日也浏览的数据t2;个人觉得不需要再额外再做表连接;
  • 然后,代码如下: SELECT COUNT(distinct t2.device_id, t2.date) / COUNT(distinct t1.device_id, t1.date) FROM question_practice_detail t1 LEFT JOIN question_practice_detail t2 ON t1.device_id = t2.device_id and datediff(t1.date, t2.date) = 1
全部评论

相关推荐

06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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