```SELECT
o.id id,
o.is_group_buy is_group_buy,
IFNULL(NULL,c.`name`) NAME
FROM
order_info o
LEFT JOIN client c ON o.client_id = c.id
WHERE
user_id IN (
SELECT
user_id
FROM
order_info o
WHERE
date > '2025-10-15'
AND STATUS = 'completed'
AND product_name IN ( "C++", "Java", "Python" )
GROUP BY
user_id
HAVING
COUNT( user_id ) >= 2
)
AND STATUS = 'completed'
AND date > '2025-10-15'
AND product_name IN ( "C++", "Java", "Python" )
ORDER BY
id;
查询条件:
date > '2025-10-15'
AND STATUS = 'completed'
AND product_name IN ( "C++", "Java", "Python" )
GROUP BY
user_id
HAVING
COUNT( user_id ) >= 2
根据日期、状态、买的产品、订单大于2的用户得到用户id组。用原表左连接client表过滤掉用户id组,并添加同样的约束条件即可,最后根据id升序排序。