ホームページ >データベース >mysql チュートリアル >SQL の GROUP BY を使用して時間間隔 (10 秒、30 秒など) をセグメント化するにはどうすればよいですか?

SQL の GROUP BY を使用して時間間隔 (10 秒、30 秒など) をセグメント化するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-05 02:05:40954ブラウズ

How Can I Segment Time Intervals (e.g., 10 Seconds, 30 Seconds) Using SQL's GROUP BY?

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 サイトの他の関連記事を参照してください。

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