Maison  >  Article  >  base de données  >  Comment trouver la valeur moyenne d'une période de temps dans MySQL

Comment trouver la valeur moyenne d'une période de temps dans MySQL

coldplay.xixi
coldplay.xixioriginal
2020-12-15 14:12:324879parcourir

Méthode MySQL pour trouver la valeur moyenne d'une période de temps : Tout d'abord, divisez l'instruction sql dans la procédure stockée puis, en fonction de l'heure de début et de l'heure de fin, la boucle while ajoute une période de temps à chaque fois ; ; enfin, faites la moyenne de la période.

Comment trouver la valeur moyenne d'une période de temps dans MySQL

L'environnement d'exploitation de ce tutoriel : système Windows 7, mysql version 8.0.22, ordinateur Dell G3.

Méthode MySQL pour trouver la valeur moyenne d'une période de temps :

Idée : Dans la procédure stockée, épissez les instructions SQL. En fonction de l'heure de début et de l'heure de fin, la boucle while ajoute une période de temps à chaque fois.

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);
-- 单引号是特殊字符,要表示单引号,使用 &#39;&#39; 进行转义
set vSql = concat(vSql,&#39;union select 100, avg(`value`) from t1 where time between &#39;&#39;&#39;,iStartTime,&#39;&#39;&#39; and &#39;&#39;&#39;, vNextTime,&#39;&#39;&#39; &#39;);
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 ;

Recommandations gratuites associées : Cours vidéo de programmation

Autres recommandations d'apprentissage gratuites associées : Tutoriel MySQL ( Vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn