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

sql按分鍾統計數據

發布時間: 2022-09-18 21:30:23

1. 按照時間段統計的sql語句

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

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

2. 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

3. SQL 時間間隔 可設如1分鍾5分鍾等,查詢相關數據。

假如表名:tbl;時間欄位名:dt

select * from tbl
where dt between cast('2012-10-10 12:01:00' as datetime) and cast('2012-10-11 11:05:00' as datetime) -- 在 2012.10.10.12:1:00 和 2012.10.11.14:5:00 之間
and datediff(minute,cast('2012-10-10 12:01:00' as datetime),dt) %7 = 0 --間隔7分鍾

4. SQL 分時段統計數據條數

做個時間基表 跟數據做個左連接分組統計即可

5. SQL,按5分鍾統計發送數量,SQL語句怎麼寫呀

最簡單方法,把datetime轉成float型(單位整數部分為天),然後乘24*60/5,就是整數部分是5分鍾了,然後取整就行了
用這種方法做,隨便你算幾分鍾的分組都能算

如:
select getdate(),cast(floor(cast(getdate() as float)*24*60/5)*5/60/24 as smalldatetime)
----------------------- -----------------------
2010-09-16 19:19:34.547 2010-09-16 19:15:00

(1 行受影響)

select getdate(),substring(convert(varchar,cast(floor(cast(getdate() as float)*24*60/5)*5/60/24 as smalldatetime),120),12,5)
----------------------- ----------
2010-09-16 19:23:47.340 19:20

(1 行受影響)

那麼你的這個問題
select
substring(convert(varchar,cast(floor(cast(sendtime as float)*24*60/5)*5/60/24 as smalldatetime),120),12,5)
,sum(concount)
from 表名
group by substring(convert(varchar,cast(floor(cast(sendtime as float)*24*60/5)*5/60/24 as smalldatetime),120),12,5)

6. mysql按10分鍾,分組統計數據,如何統計

2
3
4
5
6
7
8
9
10
11
12
13
14

-- time_str '2016-11-20 04:31:11'
-- date_str 20161120

select concat(left(date_format(time_str, '%y-%m-%d %h:%i'),15),'0') as time_flag, count(*) as count from `security`.`cmd_info` where `date_str`=20161120 group by time_flag order by time_flag; -- 127 rows

select round(unix_timestamp(time_str)/(10 * 60)) as timekey, count(*) from `security`.`cmd_info` where `date_str`=20161120 group by timekey order by timekey; -- 126 rows

-- 以上2個SQL語句的思路類似——使用「group by」進行區分,但是方法有所不同,前者只能針對10分鍾(或1小時)級別,後者可以動態調整間隔大小,兩者效率差不多,可以根據實際情況選用

select concat(date(time_str),' ',hour(time_str),':',round(minute(time_str)/10,0)*10), count(*) from `security`.`cmd_info` where `date_str`=20161120 group by date(time_str), hour(time_str), round(minute(time_str)/10,0)*10; -- 145 rows

select concat(date(time_str),' ',hour(time_str),':',floor(minute(time_str)/10)*10), count(*) from `security`.`cmd_info` where `date_str`=20161120 group by date(time_str), hour(time_str), floor(minute(time_str)/10)*10; -- 127 rows (和 date_format 那個等價)

7. sql 根據時間段分組統計數據

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

8. SQL中,有一個分鍾資料庫,用什麼指令能夠生成小時、天、月統計資料庫

用 分鍾/60 分組 應該就是小時吧

我覺得可以這樣類推

9. Oracle 取過去一個小時每分鍾的數據應該如何寫sql

寫個例子吧

創建表、插入數據:

createtablea
(timedate);

insertintoavalues(to_date(20151208150101,'yyyymmddhh24miss'));

執行:

withtas
(<=60)
selectt.rn-1rn,sum(casewhent.rn-1=to_char(a.time,'mi')then1else0end)fromtleftjoinaont.rn=to_char(a.time,'mi')andto_char(a.time,'yyyy-mm-ddhh24:mi:ss')between
'2015-12-0815:00:00'and'2015-12-0815:59:59'
groupbyt.rn
orderbyt.rn

結果:

其中rn代表分鍾數