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

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

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

相关推荐

牛客569470950号:也不知道是哪个群体45年前鬼哭狼嚎的为自己争取的被剥削的权利
点赞 评论 收藏
分享
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务