webForumDet fria alternativet

Tid mellan många datum

2 svar · 387 visningar · startad av lolukokasos

lolukokasosMedlem sedan mars 2001196 inlägg
#1

har fastnat, behöver nog lite inspiration. Har lista som nedan med datum, status, räknare. status=1 är när maskin går och 0 är när maskin stannar. Jag skulle vilja ta reda på tiden mellan (när maskinen står stilla) både som varje tillfälle och totalt mellan 2 datum/tidpunkter.
Förslag tages tacksamt emot! :-)
MSsql.

2007-01-29 04:49:51.000 1 95200
2007-01-29 05:15:40.000 0 96680
2007-01-29 05:42:47.000 1 96682
2007-01-29 06:39:06.000 0 99910
2007-01-29 06:44:15.000 1 99911
2007-01-29 08:06:26.000 0 104621
2007-01-29 08:22:49.000 1 104622

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Nu skriver du inte hur tidsdifferensen skall presenteras, men i ms kan det se ut så här:

select date as stopped
     , ( select min(date)
           from tbl
          where date > t.date
            and status = 1 ) as started
     , datediff(
          ms
         ,date
         ,( select min(date)
              from tbl
             where date > t.date
               and status = 1 )) as diff
  from tbl t
 where status = 0

För finare formatering kan convert() användas.

lolukokasosMedlem sedan mars 2001196 inlägg
#3

Tack Peter S! :D
Det tog ett tag att fatta men nu har liljeholmens börjat brinna. Det var precis vad jag behöver för att komma vidare.

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)