mysql语法如何获取某个时间段的平均值

2024年10月02日 建站教程

如何利用mysql语法获取指定时间段的平均值?我可以先获取起始时间和结束时间,再利用while循环来实现。下面web建站小编给大家详细介绍一下具体实现方法!

具体代码如下:

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 ;

本文链接:http://so.lmcjl.com/news/14421/

展开阅读全文
相关内容