思路:先筛数据形成tb1,再找出购买≥2次的人所对应的数据形成tb2, 最后将name里null的部分换成GroupBuy即可。 with tb1 as( select user_id, name from order_info left join client on order_info.client_id=client.id where date>'2025-10-15' and status='completed' and product_name in ('C++','Java','Python') ) select case when name is null then 'GroupBuy' else name end as source, cnt from( select name, count(if(name is null, 1, name)) as cnt from tb1 where user_id in (select user_id from tb1 group by user_id having count(user_id)>=2) group by name) tb2 order by source