MySQL統(tǒng)計時間差的平均值方式
統(tǒng)計時間差的平均值
說到時間差和平均值,那自然離不開兩個函數(shù):
TIMEDIFF(endTime,startTime)
: 計算兩個日期的時間差AVG()
:返回表達式的平均值
舉個例子
假設(shè)你根據(jù)項目中的需求檢索出了兩個日期,現(xiàn)在需要計算兩個日期的時間差
SELECT ProcessDate, CreateTime, TIMEDIFF( ProcessDate, CreateTime ) AS diffTime FROM WF_Task WHERE InstanceID = '7c4b7506-db10-9194-3aa2-1a7fa5671fa3'
第三列計算出了兩個日期的差值
- 第一列:56s
- 第二列:21s
- 第三列:0s
- 第四列:80s
- 第五列:56s
所以平均數(shù)應(yīng)該是:42.6s
SQL:
先使用TIME_TO_SEC(time): 將日期格式轉(zhuǎn)換為秒,然后使用AVG()對該列求平均值
SELECT AVG( TIME_TO_SEC( TIMEDIFF( ProcessDate, CreateTime ))) AS timeDiff FROM WF_Task WHERE InstanceID = '7c4b7506-db10-9194-3aa2-1a7fa5671fa3'
得出結(jié)果。
接下來可以使用ROUND(a,b)函數(shù)保留一位小數(shù)或者取整(四舍五入)
SELECT ROUND( AVG( TIME_TO_SEC( TIMEDIFF( ProcessDate, CreateTime ))), 0 ) AS timeDiff FROM WF_Task WHERE InstanceID = '7c4b7506-db10-9194-3aa2-1a7fa5671fa3'
你還可以使用SEC_TO_TIME(seconds)函數(shù)將秒變成時間格式
SELECT SEC_TO_TIME( ROUND( AVG( TIME_TO_SEC( TIMEDIFF( ProcessDate, CreateTime ))), 0 )) AS timeDiff FROM WF_Task WHERE InstanceID = '7c4b7506-db10-9194-3aa2-1a7fa5671fa3'
得出平均數(shù)為43s
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
macOS Sierra安裝Apache2.4+PHP7.0+MySQL5.7.16
這篇文章主要為大家詳細介紹了macOS Sierra安裝Apache2.4+PHP7.0+MySQL5.7.16的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01MySQL獲取版本號的N種方法(全網(wǎng)最全以及避坑大全)
相信大家在工作學(xué)習(xí)中經(jīng)常有需要查詢 MySQL 數(shù)據(jù)庫版本的情況,這里給大家介紹幾種在 MySQL 中查詢數(shù)據(jù)庫版本的方法以及每種方法適用的場景,相信總有一種可以幫到你,需要的朋友可以參考下2024-10-10如何修改mysql數(shù)據(jù)庫的max_allowed_packet參數(shù)
本篇文章是對修改mysql數(shù)據(jù)庫的max_allowed_packet參數(shù)進行了詳細的分析介紹,需要的朋友參考下2013-06-06