select
dt,
count(uid) as dau,
round(avg(newd=dt),2) as uv_new_ratio
from (
select uid,date(in_time) as dt from tb_user_log
union
select uid,date(out_time) as dt from tb_user_log
) as t1
join (select uid,min(date(in_time)) as newd from tb_user_log group by uid ) as t2 using(uid)
group by dt
order by dt
avg(newd=dt) 等同于avg(if(newd=dt,1,0))



京公网安备 11010502036488号