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

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

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

select
    sum(stay_flag) / count(*) as avg_ret
from
    (
        select
            a.device_id,
            a.date,
            coalesce(b.stay_flag, 0) as stay_flag
        from
            (
                select
                    device_id,
                    date
                from
                    question_practice_detail
                group by
                    1,
                    2
            ) a
            left join (
                select
                    device_id,
                    date_add(date,interval 1 day) as add_1day,
                    1 as stay_flag
                from
                    question_practice_detail
                group by
                    1,
                    2
            ) b on a.device_id = b.device_id
            and a.date = b.add_1day
    ) t1



全部评论

相关推荐

头像
05-27 20:32
已编辑
深度学习
工行数据中心 偏运维养老 到手可能18w
点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
04-02 21:36
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务