select 
    t1.dt dt,
    count(distinct t1.uid) dau,
    round(count(distinct t2.uid)/ count(distinct t1.uid),2) ub_new_ratio
from 
    (  -- 查找每天在线人的信息
        select
            uid,date(in_time) dt
        from tb_user_log
        union
        select
            uid,date(out_time) dt
        from tb_user_log
         
    ) t1 
    left join 
    (
        select  -- 查找每一天的新用户
            uid,min(date(in_time)) dt
        from tb_user_log
        group by uid
    ) t2
    on t1.uid=t2.uid and t1.dt=t2.dt
group by dt
order by dt