Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL Hitung perbedaan waktu rata-rata antara baris total

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyetel ulang kata sandi root MySQL ketika kata sandi saat ini tidak diketahui

  2. Cari Beberapa Item di Beberapa kolom

  3. Menjalankan prosedur tersimpan dari crontab

  4. Pilih 10 baris pertama yang berbeda di mysql

  5. Permintaan MySQL dengan banyak LIMIT