我是靠谱客的博主 谦让大炮,这篇文章主要介绍mysql如何求时间段平均值,现在分享给大家,希望可以做个参考。

本教程操作环境:windows7系统、mysql8.0.22版,Dell G3电脑。

mysql求时间段平均值的方法:

思路:在存储过程中,拼接sql语句。根据起始时间和结束时间,while循环每次加一段时间。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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如何求时间段平均值内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(100)

评论列表共有 0 条评论

立即
投稿
返回
顶部