题解 | #日活与每日次日留存率#

日活与每日次日留存率

https://www.nowcoder.com/practice/18b168ada98d4bdb9108444443cea7d3

select
    t1.visit_date,
    t1.dau,
    round(
        if (t2.next_day_per is not null, t2.next_day_per, 0),
        4
    ) next_day_per
from
    (
        select
            visit_date,
            (count(*)) dau
        from
            user_visit_log
        group by
            visit_date
    ) t1
    left join (
        select
            u1.visit_date visit_date,
            (
                count(*) / (
                    select
                        count(*)
                    from
                        user_visit_log
                    where
                        visit_date = u1.visit_date
                )
            ) next_day_per
        from
            user_visit_log u1
            join user_visit_log u2 on u1.id = u2.id
            and datediff (u2.visit_date, u1.visit_date) = 1
        group by
            u1.visit_date
    ) t2 on t1.visit_date = t2.visit_date

全部评论

相关推荐

02-11 17:51
腾讯_TEG_技术
点赞 评论 收藏
分享
2024-12-26 13:00
太原理工大学 Java
会飞的猿:简历没啥大问题啊,感觉是缺少了实习经历。多投投先找个中小厂过渡一下吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务