我有个思路,不知可行否?
declare @i int
set @i =0
while @i<>0
begin
@i=@i+6
select TOP @I sum(a) into #t FROM A
end
select * from #t
drop table #t
declare @i int
set @i =0
while @i<>0
begin
@i=@i+6
select TOP @I sum(a) into #t FROM A
end
select * from #t
drop table #t
from 数据表A
group by datepart(hh,b)/6
create table test1(
a int,
b datetime)
go
insert test1(a,b)values( 23,'08:00')
insert test1(a,b)values( 43,'09:00')
insert test1(a,b)values( 27,'10:00')
insert test1(a,b)values( 98,'11:00')
insert test1(a,b)values( 35,'4:00')
insert test1(a,b)values( 35,'6:00')
insert test1(a,b)values( 34, '9:00')
insert test1(a,b)values( 3,'12:00')
insert test1(a,b)values( 3,'15:00')
insert test1(a,b)values( 3,'18:00')insert test1(a,b)values( 35,'2002-12-13 12:00')
goselect datepart(hh,b)/6,sum(a)
from test1
group by datepart(hh,b)/6
where datepart(dd,d)=xxxx
Into #TempTable
From A
Where b between '你输入的时间' And DateAdd(hh,6,'你输入的时间')
Select Sum(a)
From #TempTable