SQL买过商品1和2没买过3的用户

:order_info
字段:order_id (订单ID)user_id(用户ID) create_date(下单日期)
:order_detail
字段:order_id(订单ID) sku_id(商品ID) sku_num(商品购买数量)

需求 :买过商品1 和 2 但没有买过商品3的用户id

 1 select user_id from (
 2 
 3     select user_id
 4      ,count(if(sku_id = 1,1,0)) gc1
 5      ,count(if(sku_id = 2,1,0)) gc2
 6      ,count(if(sku_id = 3,1,0)) gc3 
 7      from order_info a  left join order_detail b on a.order_id = b.order_id
 8     group by user_id
 9 
10 ) v where v.gc1 > 0 and v.gc2 > 0 and v.gc3 = 0

 

posted on 2025-06-23 11:08  北京的小乔  阅读(13)  评论(0)    收藏  举报