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

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

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

WITH a AS (
  SELECT 
    distinct device_id, date
  FROM question_practice_detail
),
c as (
select *,RANK() OVER(PARTITION BY device_id ORDER BY date) AS rk,
    DATE_ADD(date, INTERVAL 1 DAY) AS d_plus_1
    from a
),
b AS (
  SELECT 
    *, 
    LEAD(date, 1) OVER(PARTITION BY device_id ORDER BY date) AS act_d
  FROM c
)
SELECT 
  COUNT(CASE WHEN act_d = d_plus_1 THEN 1 ELSE NULL END) / COUNT(1) AS avg_ret
FROM b;

全部评论

相关推荐

赛博小保安:你这简历没啥大问题的,经历技能也足够了,问题应该就是出在出身了,学院本就是这样,HR忙着跟92的勾搭呢,哪有心思看我们这些双非😿😭
点赞 评论 收藏
分享
牛客46693249...:刷kpi的,海康这个岗位已经有实习生转正了
如何判断面试是否凉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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