题解 | #2021年11月每天新用户的次日留存率#

2021年11月每天新用户的次日留存率

https://www.nowcoder.com/practice/1fc0e75f07434ef5ba4f1fb2aa83a450

SELECT intime, round(AVG(case when TIMESTAMPdiff(DAY, intime, rn) = 1 OR TIMESTAMPdiff(DAY, intime, outtime) >= 1 then 1 ELSE 0 END ),2)AS lip FROM (
SELECT uid, DATE(in_time)intime,lead(date(in_time))over(PARTITION BY uid ORDER BY DATE(in_time))AS rn,ROW_NUMBER()over(PARTITION BY uid ORDER BY date(in_time))rk,
 DATE(out_time)outtime FROM tb_user_log
 )t WHERE rk=1
 
 AND  date_format(DATE(intime),'%Y-%m') = '2021-11'
 GROUP BY intime
 ORDER BY 1
 ;


使用分析函数,ROW_NUMBER()OVER()筛选出新用户,LEAD()OVER()筛选出第二天留存的天数,使用CASE WHEN 进行转换,最后筛选出2021-11的时间即可
全部评论

相关推荐

点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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