我正在尝试计算创建的第一个订单和创建的后续订单之间的日期差。使用Date diff,然后使用Partition By和Order by。但这会引发错误“函数DATEDIFF
不是有效的窗口函数,不能与OVER子句一起使用”
我尝试使用“总和”,“计数”和“平均值”-但这些数字将不能给出正确的数字,因为它们会将数字相加或取平均值。
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
答案 0 :(得分:0)
尝试一下:
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