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

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

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

-- 计算用户次日留存率
SELECT
    -- 计算留存率:次日活跃用户数 / 首日总用户数
    COUNT(DISTINCT q2.device_id, q2.date) / COUNT(DISTINCT q1.device_id, q1.date) as avg_ret
FROM
    -- 主表:所有用户的首次刷题记录
    question_practice_detail as q1
    -- 左连接:保留所有首日用户,即使次日未活跃
    LEFT OUTER JOIN question_practice_detail as q2 ON q1.device_id = q2.device_id -- 用户ID匹配
    AND DATEDIFF(q2.date, q1.date) = 1 -- 日期相差1天(即次日)

全部评论

相关推荐

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

创作者周榜

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