我有下面这张简单的表格,你可以在里面找到。
SQL Fiddle
here
:
CREATE TABLE Orders (
Customer TEXT,
Order_Date DATE
);
INSERT INTO Orders
(Customer, Order_Date)
VALUES
("Customer A", "2017-05-23"),
("Customer B", "2018-09-10"),
("Customer B", "2018-12-14"),
("Customer A", "2019-01-03"),
("Customer A", "2019-02-15"),
("Customer C", "2017-09-04"),
("Customer B", "2019-01-09"),
("Customer A", "2019-02-16"),
("Customer C", "2019-02-12"),
("Customer B", "2018-01-03");
正如您所看到的,表显示了来自不同客户的订单日期。
我使用以下SQL获取2019年2月下订单的所有客户:
SELECT Customer
FROM ORDERS
WHERE Order_Date >= "2019-02-01 00:00:00"
AND Order_Date < "2019-03-01 00:00:00"
到目前为止这一切都很好。
但是,现在我想实现的是,只有客户列出了
a)下订单
二月
和
WHERE order in >= "2019-02-01 00:00:00" AND < "2018-03-01 00:00:00"
b)
没有
在
12个月前
和
WHERE no order < "2019-02-01 00:00:00" AND >= "2018-01-02 00:00:00"
c)下订单
12个月前
WHERE order in < "2018-01-02 00:00:00"
要实现这一点,我需要在查询中进行哪些更改?