ホームページ >データベース >mysql チュートリアル >合計と平均の計算のために MySQL タイムスタンプ データをカスタム時間セグメントにグループ化する方法

合計と平均の計算のために MySQL タイムスタンプ データをカスタム時間セグメントにグループ化する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-04 10:30:35987ブラウズ

How to Group MySQL Timestamp Data into Custom Time Segments for Sum and Average Calculations?

合計および平均計算のための時間セグメントのグループ化

MySQL データベースでは、さまざまなタイムスタンプ付きレコードを含むテーブルから要約されたデータを取得できます。キャプチャ間の間隔。目標は、これらのレコードをグループ化し、10 秒や 30 秒などの特定の時間セグメントの合計値と平均値を計算することです。

解決策

時間をグループ化する鍵セグメントは GROUP BY 句内にあります。 30 秒間隔に基づいてデータをグループ化して要約するには、次のコマンドを使用します。

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30

この式は、各レコードの Unix タイムスタンプを 30 で割って、最も近い 30 秒のマークに切り捨てます。その結果、同じ 30 秒間隔内のレコードがグループ化されます。

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

調整することで、時間セグメントの境界を変更できます。 DIV 式の分母。たとえば、20 秒間隔でグループ化するには:

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20

時間セグメントのバッファリング

時間セグメントにバッファーを追加するには、次の式を使用できます。 :

GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30

この式では、r は以下の非負の整数を表します。 30. タイムスタンプに値を追加すると、重複する時間セグメントを作成できます。例:

GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30

このクエリは、レコードを hh:mm:05 から hh:mm:35 まで、および hh:mm:35 から hh:mm 1:05 までの範囲の時間セグメントにグループ化します。

以上が合計と平均の計算のために MySQL タイムスタンプ データをカスタム時間セグメントにグループ化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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