with a1 as (
select date(visit_time) as visit_date,user_id
from visit_tb
group by user_id,date(visit_time)
),
a3 as (
select user_id,date(order_time) as order_date
from order_tb
group by user_id,date(order_time)
),
a2 as (
select visit_date,a1.user_id,order_date
from a1
left join a3
on a3.user_id = a1.user_id and a3.order_date = a1.visit_date
)
select visit_date as date,concat(round((sum(case when order_date is not null then 1 else 0 end)/count(*))*100,1) ,'%') as cr
from a2
group by visit_date
order by date