select o.id, o.is_group_buy, c.name client_name
from order_info o
left join
client c
on o.client_id=c.id
where datediff(date,'2025-10-15')>0
and product_name in ('C++','Java','Python')
and status='completed'
and o.user_id in (
    select user_id from order_info
    where datediff(date,'2025-10-15')>0
    and product_name in ('C++','Java','Python')
    and status='completed'
    group by user_id
    having count(*)>1
)
order by o.id
  • 注意观察两个表
  • order_info中有client_id 等于0的情况 对应团购,另外一个表中没有这个id
  • 所以只需要以order_info作为连接标准去连接另外一个表就行