日期:2014-05-18  浏览次数:20486 次

请教sql 日期连续分组统计问题、
统计结果要求:

日期 记录数
2008-05-21 3
2008-05-22 2
2008-05-23 0
2008-05-26 1
select convert(varchar(10),r.LoginTime ,120)as dtime,COUNT(*) as num
from a group by LoginTime
日期可能不连续,没有这一天的记录那么这一天的次数就为0,现在分组统计出来,因为没有那个日期,所以为记录数为0的显示不出来。这个要怎么写呀?

------解决方案--------------------
SQL code

declare @start datetime
declare @end datetime
set @start = '2012-04-01'
set @end = '2012-04-12'

select dateadd(dd,number,@start) date
from master..spt_values
where [type] = 'p' and number between 0 and datediff(dd,@start,@end)