[code=SQL]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
--時間段>=10:00:00 and 時間段<10:05:00
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))
/*
時間段 行數 總金額
------------------------------------------------------ ----------- -----------
2007-01-01 10:00:00.000 3 14
2007-01-01 10:05:00.000 2 4
2007-01-01 10:10:00.000 1 5
(所影響的行數爲 3 行)
*/
--時間段>10:00:00 and 時間段<=10:05:00
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))
/*
時間段 行數 總金額
------------------------------------------------------ ----------- -----------
2007-01-01 10:00:00.000 2 12
2007-01-01 10:05:00.000 3 6
2007-01-01 10:10:00.000 1 5
(所影響的行數爲 3 行)
*/
drop table tb
按時間間隔查詢統計
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.