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

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

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

/*需要注意的是,一个人一天可能来多次*/
/*关键点:(1)左外连接保存主表所代表的“前一天”记录;(2)datediff函数用于连接条件内,当该设备未匹配到后一天记录则显示null;(3)按照device_id和主表的date作为分组实现去重功能;(4)使用平均值函数计算次日留存率*/
select avg(next_day is not null) as avg_ret
from (select q1.device_id device_id, q1.date date, 
max(q2.date) next_day
from question_practice_detail q1 left outer join question_practice_detail q2
on q1.device_id = q2.device_id and datediff(q2.date, q1.date)=1
group by q1.device_id, q1.date) q

全部评论

相关推荐

03-03 19:02
已编辑
东华理工大学 Node.js
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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