Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengumpulkan Data Cap Waktu MySQL ke dalam Segmen Masa Tersuai untuk Jumlah dan Pengiraan Purata?

Bagaimana untuk mengumpulkan Data Cap Waktu MySQL ke dalam Segmen Masa Tersuai untuk Jumlah dan Pengiraan Purata?

Linda Hamilton
Lepaskan: 2025-01-04 10:30:35
asal
956 orang telah melayarinya

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

Mengumpulkan Segmen Masa untuk Jumlah dan Pengiraan Purata

Dalam pangkalan data MySQL, anda boleh mendapatkan semula data ringkasan daripada jadual yang mengandungi rekod bercap masa dengan pelbagai selang antara tangkapan. Matlamat anda adalah untuk mengumpulkan rekod ini dan mengira jumlah dan nilai purata untuk segmen masa tertentu, seperti 10 saat atau 30 saat.

PENYELESAIAN

Kunci kepada masa pengumpulan segmen terletak pada klausa GROUP BY. Untuk mengumpulkan dan meringkaskan data berdasarkan selang 30 saat, gunakan perintah berikut:

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
Salin selepas log masuk

Ungkapan ini membahagikan cap waktu Unix bagi setiap rekod dengan 30, membundarkan ke bawah kepada tanda 30 saat yang terdekat. Akibatnya, rekod dalam selang 30 saat yang sama akan dikumpulkan bersama.

Menyesuaikan Sempadan Segmen Masa

Anda boleh mengubah suai sempadan segmen masa anda dengan melaraskan penyebut dalam ungkapan DIV. Contohnya, untuk mengumpulkan dalam selang 20 saat:

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20
Salin selepas log masuk

Menimbal Segmen Masa

Untuk menambah penimbal pada segmen masa anda, anda boleh menggunakan formula berikut :

GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30
Salin selepas log masuk

Dalam ungkapan ini, r mewakili integer bukan negatif kurang daripada 30. Dengan menambah nilai pada cap masa, anda boleh membuat segmen masa bertindih. Contohnya:

GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
Salin selepas log masuk

Pertanyaan ini akan mengumpulkan rekod ke dalam segmen masa antara hh:mm:05 hingga hh:mm:35 dan dari hh:mm:35 hingga hh:mm 1:05.

Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan Data Cap Waktu MySQL ke dalam Segmen Masa Tersuai untuk Jumlah dan Pengiraan Purata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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