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:
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.
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!