mysql求時間段平均值的方法:首先在預存程序中,拼接sql語句;然後據起始時間和結束時間,while循環每次加一段時間;最後進行時間段平均即可。
本教學操作環境:windows7系統、mysql8.0.22版,Dell G3電腦。
mysql求時間段平均值的方法:
想法:在預存程序中,拼接sql語句。根據起始時間和結束時間,while循環每次加一段時間。
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教學 (影片)
以上是mysql如何求時段平均值的詳細內容。更多資訊請關注PHP中文網其他相關文章!