⑴ 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
;