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)BEGINdeclare 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如何求时间段平均值全部内容,希望文章能够帮你解决mysql如何求时间段平均值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)