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个月后购买的客户?的主要内容,如果未能解决你的问题,请参考以下文章