select in_date ,round(count(distinct case when add_in_date = date_add(in_date,interval 1 day) or out_date > in_date then uid else null end)/count(distinct uid), 2) from ( select uid, in_date, out_date, rn, lead(in_date,1) over (partition by uid order by in_date) as add_in_date from ( select disti...