我们有一个表,记录每个客户的请求,每个请求都是一个 created_at
以及 customer_email
列。
mysql> select * from requests;
+---------------------+-----------------------+
| created_at | customer_email |
+---------------------+-----------------------+
| 2016-08-08 14:05:50 | user1@example.com |
| 2016-08-08 14:05:51 | user2@example.com |
| 2017-08-15 14:41:40 | user3@example.com |
| 2017-08-15 15:17:25 | user2@example.com |
| 2018-08-15 15:30:41 | user1@example.com |
+---------------------+-----------------------+
我在找你的唱片 customer email
那是 created_at
但在此之前没有创建请求。换句话说,找出在2018年8月创建请求的客户是哪些新客户。
这是我正在尝试的查询,它返回0
SELECT DISTINCT
customer_email
FROM
requests
WHERE
created_at > '2018-08-01'
AND customer_email NOT IN (SELECT DISTINCT
customer_email
FROM
requests
WHERE
created_at < '2018-08-01')
任何帮助都将不胜感激!
1条答案
按热度按时间krcsximq1#
尝试
GROUP BY
与HAVING
条款。利用最小函数,我们可以找出
first_created_at
为了一个customer_email
,然后利用having子句,将结果集限制为first_created_at
08/18之后。