Разница во времени между датами окончания первых записей и первыми датами следующей записи - PullRequest
1 голос
/ 05 августа 2011

Как найти разницу дат в минутах для разных уровней столбцов как

No SourceID  RecordID  Start Date               End Date
1  1         1         2009-09-07 09:12:00.0000 2009-09-07 11:00:00.0000 
2  1         1         2009-09-07 11:19:00.0000 2009-09-07 12:12:00.0000  
3  1         1         2009-09-07 12:23:00.0000 2009-09-07 12:54:00.0000  
4  1         1         2009-09-07 13:49:00.0000 2009-09-07 14:45:00.0000 

Как получить разницу между EndDate первой записи с начальной датой следующей записи и последней записью со значением NULL.

здесь результат нужно получить как

 SourceID  RecordID  Start Date               End Date                 DiffMin
 1         1         2009-09-07 09:12:00.0000 2009-09-07 11:00:00.0000 19 
 1         1         2009-09-07 11:19:00.0000 2009-09-07 12:12:00.0000 11 
 1         1         2009-09-07 12:23:00.0000 2009-09-07 12:54:00.0000 55 
 1         1         2009-09-07 13:49:00.0000 2009-09-07 14:45:00.0000 NULL

Спасибо

Прав

Ответы [ 2 ]

4 голосов
/ 05 августа 2011
SELECT  SourceId,RecordId,StartDate,EndDate
   , DATEDIFF(mi,a.EndDate,b.StartDate) DiffMin
FROM table a
LEFT JOIN table b ON A.no = B.no+1
0 голосов
/ 13 января 2017
SELECT SourceId,
       RecordId,
       StartDate,
       EndDate,
       DATEDIFF(mi,a.EndDate,b.StartDate) DiffMin
FROM table a
LEFT JOIN table b ON A.no = B.no-1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...