SELECT d.id,d.is_group_buy,
CASE
WHEN d.is_group_buy='Yes' THEN NULL
ELSE client.name
END
FROM (
SELECT c.*
FROM (
SELECT b.user_id
FROM order_info AS b
WHERE b.date>'2025-10-15' AND b.status='completed' AND b.product_name IN ('C++','Java','Python')
GROUP BY b.user_id
HAVING COUNT(*)>=2
) AS a,order_info AS c
WHERE a.user_id=c.user_id AND c.date>'2025-10-15' AND c.status='completed' AND c.product_name IN ('C++','Java','Python')
) AS d LEFT JOIN client
ON d.client_id=client.id
ORDER BY d.id

先找到符合条件的订单,然后再连接,使用CASE WHEN结构