當前位置:首頁 » 編程語言 » sql按時間段統計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql按時間段統計

發布時間: 2022-03-12 20:56:46

sqlServer的分時間段統計的SQL語句。

沒看懂a和b二個表的用途,假設對表a統計。
直接統計比較困難,不過你可以先把日期轉換成到最早日期的分鍾數,把分鍾數除以10求整,得到的新值就是每10分鍾一組的了。不過新值需要保存到臨時表,再對臨時表分組統計。
--按上述分析將a表中的f_time轉換為以最早日期為起點的每10分鍾一個值的新列,如間隔8分鍾,新列值為0,18分鍾,新值為1.此列命名為ten,把它們復制到臨時表#tj中。
select floor(datediff(mi,(select min(f_time) from a),optime)/10) ten,f_time,f_val from a into #tj where not a is null order by f_time
--對#tj按ten列分組統計,同時顯示每組的起始日期好截止日期。
select ten,min(f_time) bg,max(f_time) end,sum(f_val) hj_val from #tj group by ten order by ten
--把臨時表刪掉
drop table #tj

⑵ sql 根據時間段分組統計數據

把小時、分鍾分別定義變數,循環變化。

⑶ sql按指定時間段統計問題

不用去判斷,系統自己會判斷的,如上圖,測試代碼如下:

declare @dateNow varchar(100)
declare @daybefore varchar(100)

set @dateNOw = '2014/03/01 09:00:00'

set @daybefore = DATEADD(DAY,-1,@dateNOw)

select @daybefore as daybefore, @dateNow

select * from v_WorkRecord where MakeDate between @daybefore and @dateNow

⑷ 如何在SQL中按時間段查詢數據

sql server:

select * from 表 where 發生日期>'2008-7-1' and 發生日期<'2008-12-31'

access:

select * from 表 where 發生日期>#2008-7-1# and 發生日期<#2008-12-31#

這樣就可以了,注意sql server與access中的日期有一點不一樣。

(4)sql按時間段統計擴展閱讀:

sql查詢日期語句

select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據

select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查詢當天的所有數據

SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天

SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上一月

查詢當天記錄另類的方法:

SELECT *

FROM j_GradeShop

WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')

AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)

ORDER BY GAddTime DESC

⑸ SQL 查詢按時間統計記錄條數的問題

select user.realname, count(news.id) from user.id = news.adserid where addtime > '2009-0-01' and addtiem < '2009-12-31' group by user.id,user.realname addtime如果是日期型的話,你自己改一下用法即可

⑹ 按照時間段統計的sql語句

我只能大概說一個想法,
創建一個中間表,存放8點-14點 14點-20點 20點-2點 2點-8點 這樣的一個標題及具體的時間段,
然後用這個中間表與biao1根據時間tm進行關聯,就可以把數據與時間段聯繫上。

然後按這個時間段進行了group by ,之後再用 pivot就可以出來了。

⑺ SQL 統計 一段時間 按每小時統計 記錄的數量

select count(distinct id) cnt , substr(time,1,13) hours
from mytable a
group by substr(time,1,13)
order by 2
;