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

MySql - hitung perbedaan waktu untuk beberapa baris

Dapatkan interval rata-rata dalam hitungan detik:

select (to_seconds(max(job_started)) - to_seconds(min(job_started))) / (count(*) - 1) as average_interval_seconds
from JobTable
where date(job_started) >= '2016-07-01'
  and date(job_started) <= '2016-07-31'
;

Dapatkan semua interval dalam hitungan detik:

select to_seconds((
  select t2.job_started
  from JobTable t2
  where t2.job_started > t1.job_started
    and date(t2.job_started) <= '2016-07-31'
  limit 1
)) - to_seconds(t1.job_started) as interval_seconds
from JobTable t1
where date(t1.job_started) >= '2016-07-01'
  and date(t1.job_started) <= '2016-07-31'
  and t1.job_started <> (
    select job_started
    from JobTable
    where date(job_started) <= '2016-07-31'
    order by job_started desc
    limit 1
  )
;

http://sqlfiddle.com/#!9/1f8dc3/2




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan nol di depan ke beberapa nilai di kolom di MySQL

  2. Apakah ORDER BY berlaku sebelum atau sesudah DISTINCT?

  3. MySQL pilih dengan kondisi CONCAT

  4. AntarmukaError (0, '')

  5. Apakah ada cara untuk mendapatkan id terakhir yang dimasukkan dari NON - kolom yang bertambah otomatis di MySQL?