PILIH / KUMPULAN MENGIKUT - Membahagikan Selang Masa (10 Saat, 30 Saat, dsb.)
Untuk menangani permintaan pengagregatan data julat masa tersuai dalam jadual siri masa, kita boleh menggunakan klausa GROUP BY. Walau bagaimanapun, mekanisme pengumpulan standard mungkin tidak sejajar dengan segmen yang diingini.
Untuk mengumpulkan data ke dalam selang 10 saat atau 30 saat, kami boleh memanfaatkan fungsi UNIX_TIMESTAMP untuk menukar cap masa kepada perwakilan angka dan kemudian menggunakan pengendali DIV. Sebagai contoh, untuk mengumpulkan dalam selang 30 saat:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
Begitu juga, untuk selang 20 saat:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20
Untuk melaraskan sempadan segmen, kita boleh menggunakan formula berikut:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30
Di mana 'r' mewakili integer bukan negatif kurang daripada 30. Untuk contoh, untuk mengumpulkan dalam selang 15 saat:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
Ini akan menjana segmen daripada hh:mm:05 hingga hh:mm:35 dan dari hh:mm:35 hingga hh:mm 1:05. Dengan menggunakan teknik ini, kami boleh mengagregatkan data dengan berkesan pada selang masa yang disesuaikan, membolehkan analisis berbutir dan ringkasan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Selang Masa (cth., 10 Saat, 30 Saat) Menggunakan SQL GROUP BY?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!