Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySql - tính toán chênh lệch thời gian cho nhiều hàng

Nhận khoảng thời gian trung bình tính bằng giây:

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'
;

Nhận tất cả các khoảng thời gian trong vài giây:

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. Chuẩn hóa tất cả ký tự UTF8 thành định dạng chuẩn nhất

  2. Vòng lặp qua các tập kết quả trong MySQL

  3. Khởi tạo MariaDB 10.4.12 trên CentOS 7.7

  4. Làm thế nào để giảm phân vùng mà không làm giảm dữ liệu trong MySQL?

  5. Tạo cơ sở dữ liệu MySQL