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

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

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

第二天的有效访问人数 / 第一天的访问人数
用两次子查询,获得第一天的访问人数和第二天的访问人数,要去重
用时间函数date_add(date,interval *间隔次数* *时间单位*)获得隔天的访问数,赋值给第二天
select count(q2.device_id) / count(q1.device_id) as avg_ret
from
    (select distinct device_id, date
    from question_practice_detail) as q1
left join
    (select distinct device_id, date
    from question_practice_detail) as q2
on q1.device_id = q2.device_id and q2.date = date_add(q1.date, interval 1 day)


全部评论
思路不错!
点赞 回复 分享
发布于 2022-05-24 15:37
这个感觉更好懂了
点赞 回复 分享
发布于 2022-12-02 10:10 上海
题目里只有一个表格呀,为什么会有新插入的呢
点赞 回复 分享
发布于 2023-03-23 21:06 河南
想不明白为什么不用distinct去重?
点赞 回复 分享
发布于 02-18 15:41 广东

相关推荐

不愿透露姓名的神秘牛友
02-26 16:57
明天不下雨了:把第二个项目放第一个去,其他没什么问题,多投,这世道就这样
点赞 评论 收藏
分享
03-02 16:31
已编辑
合肥工业大学 golang
程序员鼠鼠_春招版:学历可以,项目普通,评价多余,奖项没有,如果有面试都是因为学历给你的,我建议可以随便包几个奖项上去,像什么蓝桥杯天梯赛,虽然不一定有用,但是相比acm这种风险小多了,我几段实习下来,压根没查的,第二点是包一段小厂实习,大厂你不好拿捏,小厂打打杂也能让你在26里面出彩一点
点赞 评论 收藏
分享
评论
77
9
分享

创作者周榜

更多
牛客网
牛客企业服务