時系列データをセグメントにグループ化する
定期的な間隔でサンプリングされた時系列データを操作する場合、多くの場合、特定のデータを集計する必要があります。時間セグメント。これにより、データ アナリストやエンジニアは、より有意義な方法でデータの傾向やパターンから洞察を得ることができます。
たとえば、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 サイトの他の関連記事を参照してください。