日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql每五分钟取一次数据_mysql – 给定时间内每5分钟的平均数据

發布時間:2023/12/20 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql每五分钟取一次数据_mysql – 给定时间内每5分钟的平均数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分組到間隔

您應該使用group by為每個要平均的時間間隔創建一個組.

select avg(Column), convert((min(datetime) div 500)*500 + 230, datetime) as time

from Databasename.tablename

where datetime BETWEEN '2012-09-08 00:00:00' AND '2012-09-08 15:30:00'

group by datetime div 500

這利用了一個事實,即日期和時間可以隱含地轉換為數字,然后格式為YYMMDDhhmmss.將這樣的數字除以100會剝離秒數,并且類似地除以500會產生每5分鐘間隔的唯一數字.

我選擇的附加列將給出間隔的中間:從間隔的任何時間(這里選擇最小值,但實際上并不重要),變成5分鐘的間隔號,回到日期和時間數字,然后加兩分半鐘.您可以使用類似的語法來計算間隔的開頭(簡單地保留230)或(包含)結束(459).

范圍處理結束

請注意,您的BETWEEN范圍將包括15:30:00之間的行,但此時間隔開始時沒有其他行.也許您想從您的選擇中排除范圍的結尾:

where datetime >= '2012-09-08 00:00:00' AND datetime < '2012-09-08 15:30:00'

為什么你得到NULL

至于為什么你的查詢產生NULL:要進行區間運算,你不要將整個區間事物用引號括起來,并且你使用奇異名稱作為時間單位.即

'2012-09-08 15:30:00' + INTERVAL 5 minute

但這只是將范圍擴展到2012-09-08 15:35:00,仍然沒有創建你想要的5分鐘間隔.你編寫它的方式,你試圖添加兩個字符串,這在MySQL中是不可能的,除非字符串可以轉換為數字,在這種情況下將添加這些數字.

您可能希望使用區間運算來計算區間的獨占結束,即區間后的第一秒:

convert((min(datetime) div 500)*500, datetime) + INTERVAL 5 minute as endOfInterval

簡單地添加500而不是我的查詢的230將不起作用,因為結果數字可能表示每小時的最后一個間隔的無效日期.

總結

以上是生活随笔為你收集整理的mysql每五分钟取一次数据_mysql – 给定时间内每5分钟的平均数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。