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

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

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

select sum(if(liu='留存',1,0))/count(device_id) avg_ret from
(select device_id, date,
if(datediff(date,lead(date,1)over(partition by device_id order by date))=-1,'留存','不留存') as liu
from 
(select distinct device_id,date from question_practice_detail) as t1) as t2

挺抽象的

开窗口函数的那个表始终没办法解决去重问题,单加一个distinct也解决不了问题,于是参照某位大佬,又在后面补了一个子查询才行

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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