方法一:

with daily_order as (
select date(order_time) as date,count(distinct user_id) as order_total
from order_tb
group by date(order_time)
),
daily_visit as (
select date(visit_time) as date, count(distinct user_id) as visit_total
from visit_tb 
group by date(visit_time)
)


select dv.date, concat(round(ifnull(do.order_total,0)/dv.visit_total*100,1),'%') as cr
from daily_visit dv left join daily_order do on do.date=dv.date