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

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

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

with t1 as
(
select date,device_id
from question_practice_detail
group by date,device_id
)

#select round(sum(t.ct)/(count(t.dt)),4) 
#from (

select #q.date dt,
count(q2.device_id)/count(q.device_id) ct
from  t1 q
left join t1 q2
on q.date= q2.date-1 and q.device_id = q2.device_id

步骤:

1、先按照日期和人员分组,取出人员和日期(避免重复计数)

2、得到今天做了题目的人数(今天总人数),和明天也做了题目的人数(昨天和今天都做了题的人数),把明天做了题目的人数除以今天做了题目的人数,得到概率

个人认为应该把注释的内容添加上,也就是:计算出每天今天做了题目,明天也做了的人数占总人数的比例(按天分组),然后把每天的概率相加,除以计算的天数-1(因为计算的最后一天没有第二天的数据)

全部评论

相关推荐

程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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