天天看点

按 自定义时间汇总数据。如按半个小时 20分钟。。。

drop table tb

create table tb(时间 datetime , 金额 int)

insert into tb values('2007-1-1 10:00:23' ,          8 )

insert into tb values('2007-1-1 10:01:24' ,          4 )

insert into tb values('2007-1-1 10:05:00' ,          2 ) 

insert into tb values('2007-1-1 10:06:12' ,          3 )

insert into tb values('2007-1-1 10:08:00' ,          1 )

insert into tb values('2007-1-1 10:12:11' ,          5 )

go

select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,时间),120),dateadd(ss,-1,时间))/5)*5,convert(varchar(10),时间,120)) as 时间段,

       count(*) as 行数,

       sum(金额) as 总金额

from tb

group by dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,时间),120),dateadd(ss,-1,时间))/5)*5,convert(varchar(10),时间,120))

可随意转载,欢迎署名!