SELECT / GROUP BY - 時間間隔のセグメント化 (10 秒、30 秒など)
データの集計要求に対処するため時系列テーブル内のカスタム時間範囲では、GROUP BY 句を利用できます。ただし、標準のグループ化メカニズムでは、目的のセグメントと一致しない場合があります。
データを 10 秒または 30 秒間隔にグループ化するには、UNIX_TIMESTAMP 関数を利用してタイムスタンプを数値表現に変換し、次を使用します。 DIV 演算子。たとえば、30 秒間隔でグループ化するには:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
同様に、20 秒間隔の場合:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20
セグメントの境界を調整するには、次の式を使用できます。
GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30
ここで、「r」は 30 未満の非負の整数を表します。たとえば、15 秒間隔でグループ化するには:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
これにより、hh:mm:05 から hh:mm:35 までと hh:mm:35 から hh:mm 1:05 までのセグメントが生成されます。これらの技術を利用することで、カスタマイズされた時間間隔でデータを効果的に集約でき、きめ細かい分析とデータの要約が可能になります。
以上がSQL の GROUP BY を使用して時間間隔 (10 秒、30 秒など) をセグメント化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。