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

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

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

select count(b.device_id)/count(a.device_id) as avg_ret
from (select distinct device_id,date from question_practice_detail) as a
left  join 
(select distinctdevice_id,date_add(date,interval 1 day) as date
 from question_practice_detail) as b
on a.device_id=b.device_id and a.date=b.date

目的是计算用户次日留存率,即:次日继续做题数用户/总用户。

对原有device_id去重后可得总体用户数量。取device_id与date(使用date-add函数将该date加一)作为子表左连接于原表,连接点为device_id与date,所以当该用户有次日做题记录时将与加1的date匹配并保存下来,此时计算保存下来的用户去重数量即可得到次日继续做题用户

全部评论

相关推荐

02-25 16:55
已编辑
北京工业大学 Java
211本,找日常实习的话,如果面向中厂的话,需要刷hot100么?因为之前从来没刷过,算法仅限于学校课程水平,准备3月投递简历,现在还需要背八股文,时间有些紧张,还需要刷算法题么?同时什么样的公司可以算是中厂呢?
程序员小白条:中大厂说的上名字的,必定要算法,hot100只是最基础的了,题库远不止100题捏,一般在300-400题量之间,算法=学校课程=简单题也做不出,多准备八股文和算法吧,其他项目可以放放,精刷算法就行了,花时间成长很快的
点赞 评论 收藏
分享
开发转测第二人:没实习的话,两个项目吧,八股也要准备一下,这个时间点有点小晚了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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