Рассчитать разницу в дате, используя разделы по и порядку по - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь вычислить разницу в дате между первым созданным заказом и созданным последующим заказом. Используя Разность Даты, сопровождаемую Разделением По и Порядком по. Но он выдает ошибку «Функция DATEDIFF не является допустимой оконной функцией и не может использоваться с предложением OVER»

Я пытался использовать Sum, Count и Average - но они не дают правильных чисел, так как они добавляют числа или усредняют их.

Select DATEDIFF(day,a.[DSPCH_CRT_DT],b.[DSPCH_CRT_DT]) over (Partition by a.[ASST_ID] Order by b.[SVC_DSPCH_ID]) as 'Duration'

Я ожидаю, что это покажет разницу между двумя датами заказа

FISCAL_YEAR | FISCAL_Quarter | FISCAL_Month | FISCAL_Week | DSPCH_CRT_DT   | Duration
2019          2019Q01          2019M01        201902        2/14/2018 0:00   5
2019          2019Q01          2019M02        201906        3/13/2018 0:00   37
2019          2019Q01          2019M03        201910        4/11/2018 0:00   98
2019          2019Q01          2019M03        201913        5/3/2018  0:00   181

1 Ответ

0 голосов
/ 18 января 2019

Попробуйте это:

Select 
    DATEDIFF(day,a.DSPCH_CRT_DT,LAG(a.DSPCH_CRT_DT) OVER (Partition by a.[ASST_ID] Order by a.[SVC_DSPCH_ID]))
FROM
    Table a 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...