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

Menghitung perbedaan waktu di MySQL tetapi memperhitungkan peristiwa

Untuk setiap awal, gunakan kueri untuk mendapatkan waktu berakhir berikutnya. Kemudian, hitung saja selisihnya. Logikanya kira-kira seperti ini:

select t.*, timestampdiff(second, dt, next_dt)
from (select t.*, addtime(t.date, t.time) as dt,
             (select addtime(t2.date, t2.time)
              from table t2
              where addtime(t2.date, t2.time) > addtime(t.date, t.time) and
                    status = 'end'
              order by addtime(t2.date, t2.time) desc
              limit 1
             ) as next_dt
      from table t
      where status = 'start'
     ) t

Ini mengasumsikan bahwa kolom tanggal dan waktu Anda disimpan menggunakan tipe database yang tepat (date dan time ). Jika Anda menyimpannya sebagai sesuatu yang lain, Anda tidak perlu memperumit logika untuk mengonversinya ke format internal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menemukan apakah nama kolom adalah kata kunci yang dicadangkan di berbagai basis data

  2. ikat nilai INSERT INTO mysql perl

  3. Apa yang akan mencegah saya terhubung ke server MySQL di AWS RDS dari VM AWS EC2?

  4. Ubah satu kolom tabel panjang menjadi tabel dengan banyak kolom

  5. JSON yang diformat khusus dari MYSQL PDO untuk digunakan di NVD3.js