题解 | #2021年11月每天新用户的次日留存率#

2021年11月每天新用户的次日留存率

https://www.nowcoder.com/practice/1fc0e75f07434ef5ba4f1fb2aa83a450

select dt, round(avg(if_re is not null), 2) uv_left_rate
from (
    # 然后将新用户登录记录表与tb_user_log按特定条件连接
    select t2.uid, date(f_in) dt, min(in_time) if_re    # 其中如果if_re不为空,则是次日留存了的新用户
    from (
        # 先查询2021年11月每天的新用户在第一天登录的记录
        select *
        from (
            select uid, min(in_time) f_in
            from tb_user_log
            group by uid
        ) t1
        where date_format(f_in, '%Y%m') = '202111'
    ) t2
    left join tb_user_log t
    on t2.uid = t.uid and (datediff(date(t.in_time), date(t2.f_in))=1 or datediff(date(t.out_time), date(f_in))=1)
    group by t2.uid, f_in
) t3
group by dt
order by dt;

全部评论

相关推荐

码农顶针:估计让你免费辅导老板孩子的学习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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