簡體   English   中英

使用Partition By和Order By計算日期差異

[英]Calculate Date Difference using Partition By and Order By

我正在嘗試計算創建的第一訂單和創建的后續訂單之間的日期差。 使用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

嘗試這個:

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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM