with -- 每天的访问人数(存在一个用户在一天内多次访问的情况,需去重)) t1 as ( select date(visit_time) v_time, count(distinct user_id) v_num from visit_tb group by v_time ), -- 每天的下单人数(存在一个用户在一天内多次下单的情况,需去重) t2 as ( select date(order_time) o_time, count(distinct user_id) o_num from order_tb group by o_time ) select o_time date, concat(round((o_num / v_num) * 100, 1), '%') cr from t1 join t2 on t1.v_time = t2.o_time order by date