# 用户注册时间
WITH t1 AS (
    SELECT TB.* ,T1.dt
    FROM tb_user_log TB
    LEFT JOIN 
    (
        SELECT t.uid, MIN(DATE(t.in_time)) AS dt
        FROM tb_user_log t
        GROUP BY t.uid
        ORDER BY dt ASC
    ) T1
    ON TB.uid = T1.uid
),
 RT AS (
select  t2.action_time
,count(distinct t2.uid) as dau
from t1 left join 
##用户活跃时间
(
select uid,date(in_time) as action_time from tb_user_log
union 
select uid,date(out_time) as action_time  from tb_user_log) t2
on t1.uid=t2.uid
group by t2.action_time)

select RT.*,ifnull(round(t3.dau/RT.dau,2),0) as  uv_new_ratio
from RT 
left join 
(select  t2.action_time
,count(distinct t2.uid) as dau
from t1 left join 
(
select uid,date(in_time) as action_time from tb_user_log
union 
select uid,date(out_time) as action_time  from tb_user_log) t2
on t1.uid=t2.uid
WHERE t1.dt=t2.action_time
group by t2.action_time) t3
on RT.action_time=t3.action_time
;