Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySql - oblicz różnicę czasu dla wielu wierszy

Uzyskaj średni interwał w sekundach:

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

Uzyskaj wszystkie interwały w sekundach:

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. Transpozycja zapytania MySQL - potrzebujesz wierszy do kolumn

  2. MAKETIME() Przykłady – MySQL

  3. Przykłady zapytań parametrycznych

  4. PostgreSQL vs MySQL, porównanie

  5. django+mysql=Obiekt 'DatabaseWrapper' nie ma atrybutu 'Błąd bazy danych'