2012-09-10 73 views
3

在我的SqlServer 2008中,我有一个名为Table1的表,其中一列名为IncDate这是一个DateTime。基于日期的记录总数记录

我需要运行一个查询,该查询返回该日期之前的记录总数。例如,我的表中有这些记录:

IncDate 
09/09/2012 16:21:51.547 
09/09/2012 16:22:11.032 
10/09/2012 13:51:33.327 

我的查询需要的输出:

Date................Total 
09/09/2012...........2 
10/09/2012...........1 

回答

0

这里有一种方法:

select cast(incdate as date) as date, count(*) 
from table1 
group by cast(incdate as date) 
order by 1 
3

您需要CAST()的日期与日期只要。

SELECT Cast(incdate as date) DateOnly, Count(*) AS Total 
FROM yourtable 
GROUP BY Cast(incdate as date) 

看到SQL Fiddle with Demo

如果不这样做CAST()日至今只,那么计数将被关闭。

0

尝试

SELECT cast(incdate as [date]) as [idate], count(incdate) totalCount 
FROM table1 
GROUP BY cast(incdate as [date]) 
ORDER BY totalCount