SELECT t1.user_id, count(distinct info_id) AS visit_nums FROM ( select distinct user_id from order_tb where date(order_time) = "2022-09-02" ) t1 LEFT JOIN ( SELECT user_id, info_id FROM visit_tb WHERE datediff(visit_time, leave_time) = 0 AND DATE(visit_time) = "2022-09-02" ) t2 USING (user_id) GROUP BY t1.user_id ORDER BY visit_nums DESC