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

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

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

with user_date as
(
    select
    device_id,
    date,
    lag(date,1) over(partition by device_id order by date)as last_date
    from question_practice_detail
)
, retention_stats AS 
(
    select
    count(distinct device_id,date) as total_acts,
    count(distinct case 
           when datediff(date,last_date)=1
           then concat(device_id,'_',last_date)
           end
         ) as ret_acts
    from user_date
)
SELECT ret_acts / total_acts AS avg_ret
FROM retention_stats;

全部评论

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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