Heim  >  Artikel  >  Datenbank  >  So ermitteln Sie den Durchschnittswert eines Zeitraums in MySQL

So ermitteln Sie den Durchschnittswert eines Zeitraums in MySQL

coldplay.xixi
coldplay.xixiOriginal
2020-12-15 14:12:324943Durchsuche

MySQL-Methode zum Ermitteln des Durchschnittswerts eines Zeitraums: Fügen Sie zuerst die SQL-Anweisung im Speicherprozess zusammen, dann fügt die While-Schleife jedes Mal einen Zeitraum hinzu, den Durchschnitt der Zeitraum.

So ermitteln Sie den Durchschnittswert eines Zeitraums in MySQL

Die Betriebsumgebung dieses Tutorials: Windows 7-System, MySQL-Version 8.0.22, Dell G3-Computer.

MySQL-Methode zum Ermitteln des Durchschnittswerts eines Zeitraums:

Idee: Fügen Sie in der gespeicherten Prozedur SQL-Anweisungen zusammen. Entsprechend der Start- und Endzeit fügt die While-Schleife jedes Mal eine Zeitspanne hinzu.

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 ;

Verwandte kostenlose Empfehlungen: Programmiervideokurse

Weitere verwandte kostenlose Lernempfehlungen: MySQL-Tutorial(Video)

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie den Durchschnittswert eines Zeitraums in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn