ホームページ  >  記事  >  データベース  >  mysqlで期間の平均値を見つける方法

mysqlで期間の平均値を見つける方法

coldplay.xixi
coldplay.xixiオリジナル
2020-12-15 14:12:324933ブラウズ

期間の平均値を見つけるための Mysql メソッド: まず、ストレージ プロセスで SQL ステートメントを結合し、次に開始時刻と終了時刻に従って、while ループで毎回期間を追加します。最後に、期間を平均します。

mysqlで期間の平均値を見つける方法

このチュートリアルの動作環境: Windows 7 システム、mysql バージョン 8.0.22、Dell G3 コンピューター。

期間の平均値を見つけるための Mysql メソッド:

アイデア: ストアド プロシージャで、SQL ステートメントを結合します。開始時刻と終了時刻に従って、while ループは毎回時間を追加します。

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 ;

関連する無料の推奨事項: プログラミング ビデオ コース

その他の関連する無料の学習推奨事項: mysql チュートリアル (ビデオ)######

以上がmysqlで期間の平均値を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。