mysql 时间平均值_mysql如何求时间段平均值

mysql求时间段平均值的方法:首先在存储过程中,拼接sql语句;然后据起始时间和结束时间,while循环每次加一段时间;最后进行时间段平均即可。

2020121514110361681.jpg

本教程操作环境:windows7系统、mysql8.0.22版,该方法适用于所有品牌电脑。

更多相关免费学习推荐:mysql教程(视频)

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 ;相关免费推荐:编程视频课程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值