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