這篇文章主要介紹了MySQL怎么求時間段平均值,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)服務項目包括雙流網(wǎng)站建設、雙流網(wǎng)站制作、雙流網(wǎng)頁制作以及雙流網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,雙流網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到雙流省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
mysql求時間段平均值的方法:首先在存儲過程中,拼接sql語句;然后據(jù)起始時間和結束時間,while循環(huán)每次加一段時間;最后進行時間段平均即可。
mysql求時間段平均值的方法:
思路:在存儲過程中,拼接sql語句。根據(jù)起始時間和結束時間,while循環(huán)每次加一段時間。
DROP PROCEDURE IF EXISTS `get_avg`; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `get_avg`(in iStartTime datetime, in iEndTime datetime) BEGIN declare vSql varchar(10240) default ''; declare vNextTime datetime; while(iStartTime < iEndTime) do -- 每次加一個小時 set vNextTime = date_add(iStartTime,interval 3600 second); -- 單引號是特殊字符,要表示單引號,使用 '' 進行轉義 set vSql = concat(vSql,'union select 100, avg(`value`) from t1 where time between ''',iStartTime,''' and ''', vNextTime,''' '); set iStartTime = vNextTime; end while; set vSql = substring(vSql,7); -- 看看拼接的字符串是否正確 -- select vSql; set @vSql = vSql; prepare stmt from @vSql; execute stmt; deallocate prepare stmt; END ;; DELIMITER ;
感謝你能夠認真閱讀完這篇文章,希望小編分享mysql怎么求時間段平均值內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!