思路:
1、选出每日新增用户,形成tb2;
2、选出每日活跃用户,形成tb3;
3、将tb3和tb2左连接,加入连接条件活跃日期=min(活跃日期),此时tb2仅留下新增用户的uid;
4、用count计算tb2和tb3的用户数,注意distinct去重。

with tb1 as(
select uid, date(in_time) as active_day from tb_user_log
union all
select uid, date(out_time) as active_day from tb_user_log)

select tb2.active_day dt, 
count(distinct tb2.uid) dau,
round(count(distinct tb3.uid)/count(distinct tb2.uid),2) uv_new_ratio
from(
(select uid, active_day from tb1
group by uid, active_day) as tb2
left join 
(select uid, min(active_day) as min_active_day from tb1
group by uid) as tb3
on tb2.uid=tb3.uid and active_day=min_active_day)
group by tb2.active_day
order by dt