Mysql 9月份买了东西,但没有';10月份我什么也不买

Mysql 9月份买了东西,但没有';10月份我什么也不买,mysql,Mysql,我有这张桌子。我需要一个查询的帮助,该查询只显示在9月份买了东西但在10月份没有买任何东西的客户ID customer_id purchase_item qty purchase_date ----------- ------------- --- ------------- 5415151 desk organizer 1 9/5/2015 5415151 desk lamp

我有这张桌子。我需要一个查询的帮助,该查询只显示在9月份买了东西但在10月份没有买任何东西的客户ID

customer_id     purchase_item       qty     purchase_date
-----------     -------------       ---     -------------
  5415151       desk organizer       1      9/5/2015
  5415151       desk lamp            1      9/5/2015
  7884195       pen holder           8      9/7/2015
  7894152       flash drive          10     9/19/2015
  5987412       universal charger    2      9/28/2015
  1264879       desk fan             20     10/7/2015
  5415151       filing cabinet       5      10/10/2015
  7894152       flash drive          5      10/10/2015
。。。这就是我想看到的:

  user_id     
  -------    
  7894152     
  5987412
尝试演示,它将工作


希望这有帮助

尝试这样的查询:-

SELECT customer_id,
group_concat(month((str_to_date(purchase_date,'%m/%d/%y')))) as date1
FROM `customer` group by customer_id 
HAVING FIND_IN_SET('9',date1) >0 and FIND_IN_SET('10',date1) =0

我会争取一个助手表(每年12行,例如2015年9月1日是1行)。在左连接中使用它,它位于左侧。左连接在月=和年=。。。这就是为什么每个月只需要一行。因此,在结果中,总和为空的用户会收到一封电子邮件:“嘿,爱在哪里,为什么不再购买呢?”嗨!非常感谢。我正在考虑你的建议。这需要一段时间的结果才能显现出来。当我得到它时,我会给你回复。我已经编辑了查询(之前的查询有问题)…我添加了SQL FIDLE demouse BETH而不是MOUNT(STR_to_DATE)-这样如果存在购买日期的索引,查询会快得多
SELECT customer_id,
group_concat(month((str_to_date(purchase_date,'%m/%d/%y')))) as date1
FROM `customer` group by customer_id 
HAVING FIND_IN_SET('9',date1) >0 and FIND_IN_SET('10',date1) =0