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

Bagaimana Anda membuat perbedaan waktu rata-rata antara catatan di MySQL?

Anda harus mengonversi stempel waktu Anda menjadi angka agar dapat membulatkannya. Dan bila Anda memiliki stempel waktu rata-rata, ubah kembali menjadi tanggal.

select device, count(*) as cnt, FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(time)), '%i:%s')
from database.table
group by device
having cnt>1
order by device;

Catatan:Jika Anda mempertimbangkan waktu negatif, rata-rata Anda sudah jelas! Jika tidak maka lebih baik menghitungnya dengan bahasa scripting (php, c#, ruby...)

average := avg(ts1–ts2, ts2-ts3, ts3-ts4)
= (ts1–ts2 + ts2-ts3 + ts3-ts4)/3
= (ts4-ts1)/3

Generalisasi:

average = (last entry - first entry) / (number of entries - 1)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pesan dengan alias di mysql yang terkandung dalam if query

  2. MYSQL PHP memperbarui data setiap baris

  3. MySQL Menggunakan Kunci Asing yang Sama untuk dua kolom tabel yang berbeda

  4. Bagaimana cara menggunakan kebalikan dari BETWEEN dalam kueri MySQL?

  5. Java, bagaimana cara mengubah database saat ini ke yang lain?