老哥,你的解法里: where table_b.date not in (select min(table_c.date) as c_buy_date from (select * from order_info where user_id in (select user_id from order_info where date>'2025-10-15' and status='completed' and product_name in('C++','Java','Python') group by user_id having count(user_id)>1) and date>'2025-10-15' and status='completed' and product_name in('C++','Java','Python') order by id) table_c 我理解,这里是没考虑到这么一个情况:如果存在user 1的first date是user 2的second date,上面的“table_b.date not in (select min(table_c.date) as c_buy_date...”就会把table_2中user 2的second date也去掉了,这样得出来的“min(table_b.date)”就是有错误的了,因为table_2中user 2的min date会变成third date。 不知我是否有理解错误,望指正。
点赞

相关推荐

03-16 13:56
湖南大学 C++
点赞 评论 收藏
分享
牛客网
牛客企业服务