我有以下需要
我有一个记录表,记录每天生成的索引.
现在,我需要在过去10天内针对每天的潜在客户数量进行报告.
让我们说这个表看起来像这样:
tbl_leads
id int,
first_name nvarchar(100),
last_name nvarchar(100),
created_date datetime
Run Code Online (Sandbox Code Playgroud)
我需要计算每天的潜在客户数量,总计10天.所以结果集看起来应该是这样的:
counted_leads | count_date
5 | 2009-04-30
7 | 2009-04-29
5 | 2009-04-28
7 | 2009-04-27
Run Code Online (Sandbox Code Playgroud)
... 等等
谁知道如何以最好的方式做到这一点?我目前的解决方案是在c#中使用foreach进行迭代,但我非常希望将它交给sql服务器而不是sp.
Fab*_*der 33
您可以使用:
Select
count(created_date) as counted_leads,
created_date as count_date
from
table
group by
created_date
Run Code Online (Sandbox Code Playgroud)
您的created_date字段是datetime,因此如果您想按日期排序,则需要在分组工作之前剥去时间:
SELECT COUNT(created_date), created_date
FROM table
WHERE DATEDIFF(created_date, getdate()) < 10
GROUP BY convert(varchar, created_date, 101)
Run Code Online (Sandbox Code Playgroud)