SQL:如何查询我注册6个月后购买的客户?

Posted

技术标签:

【中文标题】SQL:如何查询我注册6个月后购买的客户?【英文标题】:SQL: How To Query my customers who made a purchase after 6 months of registering with us? 【发布时间】:2018-11-20 17:25:19 【问题描述】:

我有一个可以拉出的表格,可以每天显示客户是否进行了购买,并且客户列表当天的值为 0 或 1。

表 = Customers_daily, column = made_purchase = 1 或 0

Select date_utc, count(distinct customer_id), made_purchase
from customers_daily

如果我想分析自 reg_date 以来仅在第 6 个月内购买的客户,我应该在哪里指定?

这是我正在寻找的输出

我只是想确保在这个 date_utc 我们正在吸引自注册日期起第 6 个月的客户

【问题讨论】:

请提供相关且最少的样本数据,展示您的要求和预期输出。请浏览此链接一次:Why should I provide an MCVE for what seems to me to be a very simple SQL query? 表格中没有客户ID吗? 是的,表中有一个客户 ID。我实际上正在考虑做一个计数(不同的客户ID) 您需要使用注册日期,因此有关该字段的信息会很有帮助。你也说customers who made a purchase only in their 6th month since reg_date,但这与示例输出完全不匹配。请提供一个完整的示例。 【参考方案1】:

http://sqlfiddle.com/#!9/b65b3fd/1

SELECT date_utc, 
       count(distinct customer_id), 
       MAX((date_utc >= reg_date + INTERVAL 5 MONTH) AND (date_utc <= reg_date + INTERVAL 6 MONTH))
FROM customers_daily
GROUP BY customer_id

我唯一不能得到的是count(distinct customer_id) - 它总是返回1,因为我GROUP BY customer_id

但是如果你想GROUP BY date_utc - 比made_purchase 对许多不同的客户意味着什么?

请提供原始数据样本和预期结果。

【讨论】:

以上是关于SQL:如何查询我注册6个月后购买的客户?的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 2008 中计算到期日期

SQL Server 如何找到从每个商店购买产品的客户?

解决使用还原卡的PC在2个月后要重新加入域的问题

SQL查询以获取购买其他客户购买的产品的客户

SQL 查询查找专属客户

NetApp FAS2240-4存储误删除文件夹几个月后如何恢复数据