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

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

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

select COUNT(DISTINCT b.device_id,b.date)/COUNT(DISTINCT a.device_id,a.date) as avg_ret
from question_practice_detail a
left join question_practice_detail b 
on a.device_id = b.device_id
and datediff(a.date, b.date)=-1

1.首先明确计算逻辑 次日留存率=第一天答题的前提下第二天继续答题的人数/第一天答题的总数

2.计算X日留存算相对比较难得sql练习题目,难在重构表连接,这里要想到表自己和表自己左连接,上图我展示了联接之后查询相关字段的表的内容 这样会好理解一些,这道题目的答案是第一段代码。另外本题还考察了对于mysql 函数的日期函数这里做了总结如

全部评论

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
我知道自己这个念头不好,但是真的很羡慕😭大家的父母长辈都能帮到自己吗?
大飞的诡术妖姬:父母都是普通打工人,身体也不好,能供我读到本科毕业很不容易,毕业以后帮衬心里会有罪恶感。虽然可能会错过很多风景,但还是想活的心安理得。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务