with
t as (
select distinct
user_id
from
order_tb
where
date(order_time) = '2022-9-2'
) -- 本题唯一的难点:因为group by后不能用distinct函数,所以为了不重复聚合必须另外开一张表,或者用子查询
select
user_id,
count(*) as visit_nums
from
visit_tb
join t using (user_id)
where
date(visit_time) = '2022-9-2'
and date(leave_time) = '2022-9-2'
group by
user_id
order by
visit_nums desc



京公网安备 11010502036488号