我有一张表Clients
。
每个客户都有da_reg
(在我们的系统中注册的日期)。我需要做一份报告:
按月 - 客户总数(count(distinct customernumber)
);和da_reg
日期之前的新客户(我可以每月执行此操作,例如将过去一个月的所有客户端插入到临时表中,然后比较WHERE da_reg < 'date' and customerid not in (select customerid from #temp)
- 但每次比较需要花费大量时间)。
如何让它最简单?在1-2步?
请帮忙!
提前致谢!
答案 0 :(得分: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)
答案 1 :(得分:0)
您可以逐月选择DAtE_TIME,然后计算一行数:8月的示例
SELECT *,count(a.id)
FROM TABLE A as a
WHERE DATEPART(month, MY_DATETIME) = 8
其中a.id PK的A