with t1 as (select uid,artical_id,date(in_time) dt from tb_user_log union (select uid,artical_id,date(out_time) dt from tb_user_log)), t2 as (select uid,dt,row_number() over(partition by uid order by dt) rk from t1) select dt,count(distinct uid) dau, round(sum(if(rk=1,1,0))/count(distinct uid),2) uv...