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

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

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
全部评论

相关推荐

ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
zhch7:建议9✌️把学历加黑加粗,如果实在offer可能是觉得佬不会去
投了多少份简历才上岸
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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