我有这张桌子。我需要一个查询,该查询仅显示在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 T1.customer_id
FROM customer_table T1
LEFT JOIN customer_table T2 ON T1.customer_id = T2.customer_id AND
MONTH(STR_TO_DATE(T1.purchase_date, '%m/%d/%Y')) = 9 AND
MONTH(STR_TO_DATE(T2.purchase_date, '%m/%d/%Y')) = 10
WHERE T2.customer_id IS NULL AND MONTH(STR_TO_DATE(T1.purchase_date, '%m/%d/%Y')) = 9
尝试DEMO SQLFiddle,它将起作用。
希望这可以帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句