如何利用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 ;
标签: mysql查询
上面是“mysql语法如何获取某个时间段的平均值”的全面内容,想了解更多关于 mysql 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_3612.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!