with t1 as( select distinct uid, date(in_time) dt, min(date(in_time))over(partition by uid) new_dt from tb_user_log union select distinct uid, date(out_time) dt, min(date(in_time))over(partition by uid) new_dt from tb_user_log ) select dt, count(*) dau, round(sum(if(dt=new_dt,1,0))/ count(*), 2) uv_...