Различия по дате в SQL Server по строкам в таблице - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть запрос, который группирует время начала и окончания по разным строкам, где номер партии 1 - это начало, а номер партии 2 - время остановки, и мне нужно указать их дату.Я попытался добавить номера строк и попытаться сделать что-то вроде строк различий дат 1 и 2, 3 и 4 и т. Д., Но безуспешно.

Так что я должен сделать разность дат на 1 и 3, 2 и4 и т. Д., Когда есть партия 1 и 2.

Вот как выглядят мои данные:

RowNumber  OrderNumber  IDCode    DateVal              MilestoneID   BatchNumber
-------------------------------------------------------------------
1          5017555.1    4077213   2018-08-30 12:22:51.253  15           1
3          5017555.1    4081502   2018-09-05 12:41:08.817  16           2
2          5017555.1    4095474   2018-09-18 10:42:47.457  15           1
4          5017555.1    4095665   2018-09-18 12:07:11.083  16           2

1 Ответ

0 голосов
/ 27 сентября 2018

LAG позволяет получить значение из предыдущей строки:

Select * 
datediff (day, LAG(DateVal) OVER (ORDER BY OrderNumber) ,DateVal ) 
From YourTable

Вы также можете использовать Lead , чтобы получить значение из следующей строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...