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
Lepaskan: 2025-01-03 20:34:41
asal
295 orang telah melayarinya

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;
    Salin selepas log masuk

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
    Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan