ホームページ > データベース > mysql チュートリアル > MySQL を使用して時系列データをカスタム セグメントにグループ化するにはどうすればよいですか?

MySQL を使用して時系列データをカスタム セグメントにグループ化するにはどうすればよいですか?

DDD
リリース: 2025-01-04 12:07:36
オリジナル
689 人が閲覧しました

How Can I Group Time Series Data into Custom Segments Using MySQL?

時系列データをセグメントにグループ化する

定期的な間隔でサンプリングされた時系列データを操作する場合、多くの場合、特定のデータを集計する必要があります。時間セグメント。これにより、データ アナリストやエンジニアは、より有意義な方法でデータの傾向やパターンから洞察を得ることができます。

たとえば、2 秒ごとにサンプルを収集するテーブルについて考えてみましょう。長期間にわたるカウント値の変動を分析するには、サンプルを 10 秒または 30 秒のウィンドウにグループ化するとよいでしょう。各セグメント内のカウント値を合計または平均することにより、個々の時点を表示するときに不明瞭になる可能性のあるパターンを観察できます。

MySQL Query for Segmentation

これを実現するにはMySQL のデータ セグメンテーションでは、GROUP BY 句を time_stamp カラムの算術演算とともに利用できます。各サンプルの UNIX タイムスタンプを希望の間隔で除算することで、時間差に基づいてサンプルをセグメントにグループ化できます。

サンプルを 30 秒のセグメントにグループ化するには、次のクエリを検討します。

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
ログイン後にコピー

このクエリは、現在の時間範囲内で 30 秒間隔ごとにグループを作成します。 data.

セグメント境界のカスタマイズ

GROUP BY 句内の r 式を使用して、間隔の境界をさらにカスタマイズできます。分割する前に UNIX タイムスタンプに正の整数値 r を追加すると、セグメントの境界をシフトできます。

たとえば、hh:mm:05 で始まり hh:mm 1 で終わる 20 秒のセグメントを作成するには、 :05:

GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
ログイン後にコピー

このクエリは、サンプルを 20 秒のセグメントにグループ化します。最初のセグメントは hh:mm:05 で始まり、最後のエンディングは hh:mm 1:05 です。

以上がMySQL を使用して時系列データをカスタム セグメントにグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート