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.
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); -- 单引号是特殊字符,要表示单引号,使用 '' 进行转义 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 ;
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!