【发布时间】:2014-11-14 18:47:14
【问题描述】:
我有一些与客户以及他们每天执行的交易数量相关的数据。我想看看我们每周有多少“新”客户。数据如下所示:
Custnum Created Revenue
1 2014/10/23 30
4 2014/10/23 20
5 2014/10/23 40
2 2014/10/30 13
3 2014/10/30 45
1 2014/10/30 56
在上面的(示例)数据中,我们可以看到custnum 1 的客户连续几周有交易,我只想要下一周的新客户,那些过去从未与我们做生意的客户。换句话说,我想要每周的全新客户数量。所以结果应该是:
CustCount Created
3 2014/10/23
2 2014/10/30
我尝试使用以下查询:
select
count(distinct custnum),
DATEADD(wk, DATEDIFF(wk, 0, created), 0) as Date
from ORDERS
where created > '2013-01-01'
group by
DATEADD(wk, DATEDIFF(wk, 0, created), 0)
order by
DATEADD(wk, DATEDIFF(wk, 0, created), 0)
但是这个查询给了我每周唯一客户的数量,我想要每周的新客户数量。
任何帮助将不胜感激。
【问题讨论】:
-
请不要使用不适用于您的问题的标签
-
这里的一个问题是您不能仅仅依赖前一周,因为他们可能已经是客户但在 2 周内没有购买。
标签: sql sql-server