Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mengumpulkan Data Siri Masa dalam MySQL mengikut Selang 10 Saat, 30 Saat atau Lain?

Bagaimanakah saya boleh mengumpulkan Data Siri Masa dalam MySQL mengikut Selang 10 Saat, 30 Saat atau Lain?

Barbara Streisand
Barbara Streisandasal
2025-01-03 20:34:41297semak imbas

How Can I Group Time-Series Data in MySQL by 10-Second, 30-Second, or Other Intervals?

PILIH / KUMPULAN MENGIKUT - Segmen Masa (10 Saat, 30 Saat, dll)

Dalam MySQL, adalah mungkin untuk mendapatkan semula agregat data daripada jadual berdasarkan selang masa menggunakan klausa SELECT dan GROUP BY. Pertimbangkan senario di mana anda mempunyai jadual yang merekodkan sampel setiap n saat, dengan dua lajur yang berkaitan: cap_masa dan kiraan.

Untuk mendapatkan jumlah atau purata lajur kiraan yang dikumpulkan mengikut selang masa tertentu, ikut langkah berikut:

  1. Tukar lajur cap masa kepada cap masa UNIX menggunakan UNIX_TIMESTAMP fungsi.
  2. Bahagikan cap masa dengan selang masa yang dikehendaki. Contohnya, untuk mengumpulkan mengikut selang 10 saat: UNIX_TIMESTAMP(time_stamp) DIV 10.
  3. Gunakan hasil daripada langkah 2 sebagai kriteria pengelompokan dalam klausa GROUP BY, seperti yang dilihat dalam pertanyaan berikut:

    SELECT UNIX_TIMESTAMP(time_stamp) DIV 10, SUM(count)
    FROM table
    GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 10;

Pertanyaan ini akan mengumpulkan data ke dalam Selang 10 saat, menjumlahkan nilai kiraan dalam setiap selang.

  1. Jika mahu, laraskan sempadan antara selang dengan menambahkan offset pada cap waktu. Contohnya, untuk mengumpulkan mengikut selang dari hh:mm:05 hingga hh:mm:35, gunakan:

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

Dengan memanfaatkan fungsi GROUP BY dan UNIX_TIMESTAMP, anda boleh mengagregat dengan cekap data daripada jadual siri masa berdasarkan pelbagai segmen masa, memberikan cerapan tentang corak dan arah aliran masa.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengumpulkan Data Siri Masa dalam MySQL mengikut Selang 10 Saat, 30 Saat atau Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn