1

我有一张桌子Clients

每个客户都有da_reg(在我们的系统中注册的日期)。我需要做一个报告:

按月 - 客户总数 ( count(distinct customernumber)); 和新客户按da_reg日期(我可以每月执行此操作,例如将过去一个月的所有客户插入临时表然后进行比较WHERE da_reg < 'date' and customerid not in (select customerid from #temp)- 但是每次比较都需要很多时间)。

如何使它最简单的方法?1-2个步骤?

请帮忙!

提前致谢!

4

2 回答 2

1

请试试这个

  select count(*) as new_count,
  month(da_reg) as month,year(da_reg) as year
  (select count(*) from tbl a where tbl.da_reg>=a.da_reg) as total_cus
  from tbl
  group by month(da_reg),year(da_reg)
于 2013-10-24T08:30:50.803 回答
0

您可以按月选择 DAtE_TIME 列,然后计算行数:Example for August

SELECT *,count(a.id) 
FROM TABLE A as a
WHERE DATEPART(month, MY_DATETIME) = 8

其中 a.id PK 的 A

于 2013-10-24T08:24:02.230 回答