ホームページ >データベース >mysql チュートリアル >MySQL で時系列データを 10 秒、30 秒、またはその他の間隔でグループ化するにはどうすればよいですか?
SELECT / GROUP BY - 時間のセグメント (10 秒、30 秒など)
MySQL では、集計されたデータを取得することができます。 SELECT 句と GROUP BY 句を使用して、時間間隔に基づいてテーブルからデータを取得します。 time_stamp と count という 2 つの関連する列を持つ、n 秒ごとのサンプルを記録するテーブルがあるシナリオを考えてみましょう。
特定の時間間隔でグループ化された count 列の合計または平均を取得するには、次の手順に従います。
次のクエリに示すように、手順 2 の結果を GROUP BY 句のグループ化基準として使用します。
SELECT UNIX_TIMESTAMP(time_stamp) DIV 10, SUM(count) FROM table GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 10;
このクエリはデータをグループ化します。 10 秒間隔。各間隔内のカウント値を合計します。
必要に応じて、タイムスタンプにオフセットを追加して間隔間の境界を調整します。たとえば、hh:mm:05 から hh:mm:35 までの間隔でグループ化するには、次を使用します。
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 10
GROUP BY 関数と UNIX_TIMESTAMP 関数を活用すると、効率的に集計できます。さまざまな時間セグメントに基づいた時系列テーブルのデータにより、時間の経過に伴うパターンと傾向についての洞察が得られます。
以上がMySQL で時系列データを 10 秒、30 秒、またはその他の間隔でグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。