Jika Anda ingin tahu seberapa sering (rata-rata) sebuah baris dimasukkan, saya rasa Anda tidak perlu menghitung semua perbedaannya. Anda hanya perlu menjumlahkan perbedaan antara baris yang berdekatan (berdekatan berdasarkan stempel waktu) dan membagi hasilnya dengan jumlah penjumlahan.
Rumusnya
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
jelas dapat disederhanakan menjadi hanya
(TN-T0) / N
Jadi, kuerinya akan seperti ini:
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Pastikan jumlah baris lebih dari 1, atau Anda akan mendapatkan kesalahan Divisi Dengan Nol. Namun, jika mau, Anda dapat mencegah kesalahan dengan trik sederhana:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Sekarang Anda dapat menjalankan kueri dengan aman terhadap tabel dengan satu baris.