我有一个访问统计表table,有时间字段adddate和递增字段id:  
我要统计出所有的同一天的所有记录和并做显示,这样的sql语句该怎么写呀?  
 
如:  
2005-6-1 7:44:00      1  
2005-6-1 8:10:00      2  
2005-6-1 9:05:00      3  
2005-6-1 9:40:00      4  
2005-6-2 9:00:00      5  
2005-6-2 9:10:00      6  
2005-6-2 9:20:00      7  
2005-6-2 9:30:00      8  
2005-6-3 9:30:00      9  
2005-6-4 9:40:00     10  
2005-6-4 9:50:00     11  
 
得到的结果是:  
2005-6-1  4    (日期等于2005-6-1的记录总数是4)  
2005-6-2  4    (日期等于2005-6-2的记录总数是4)  
2005-6-3  1    (日期等于2005-6-3的记录总数是1)  
2005-6-4  2    (日期等于2005-6-4的记录总数是2)

解决方案 »

  1.   

    select convert(varchar(10),adddate,20) as adddate,count(*) as c from table group by convert(varchar(10),adddate,20)
      

  2.   

    declare @T table(adddate datetime,id int)
    insert into @t select '2005-6-1 7:44:00'      ,1  
    union all select '2005-6-1 8:10:00'      ,2  
    union all select '2005-6-1 9:05:00'      ,3  
    union all select '2005-6-1 9:40:00'      ,4  
    union all select '2005-6-2 9:00:00'      ,5  
    union all select '2005-6-2 9:20:00'      ,7  
    union all select '2005-6-2 9:30:00'      ,8  
    union all select '2005-6-2 9:30:00'      ,9  
    union all select '2005-6-3 9:30:00'      ,10  
    union all select '2005-6-4 9:40:00'     ,11  
    union all select '2005-6-4 9:50:00'     ,12 select replace(convert(char(10),adddate,120),'-0','-') as adddate,count(*) as id from @t group by replace(convert(char(10),adddate,120),'-0','-')