Calculate Time Difference Between Two Rows

前端 未结 2 665
暖寄归人
暖寄归人 2020-12-12 15:07

I have a table that contains the following:

DataDate                 Value
2010-03-01 08:31:32.000  100
2010-03-01 08:31:40.000  110
2010-03-01 08:31:42.000          


        
2条回答
  •  伪装坚强ぢ
    2020-12-12 15:36

    WITH    rows AS
            (
            SELECT  *, ROW_NUMBER() OVER (ORDER BY DataDate) AS rn
            FROM    mytable
            )
    SELECT  DATEDIFF(second, mc.DataDate, mp.DataDate)
    FROM    rows mc
    JOIN    rows mp
    ON      mc.rn = mp.rn - 1
    

    In SQL Server 2012+:

    SELECT  DATEDIFF(second, pDataDate, dataDate)
    FROM    (
            SELECT  *,
                    LAG(dataDate) OVER (ORDER BY dataDate) pDataDate
            FROM    rows
            ) q
    WHERE   pDataDate IS NOT NULL
    

提交回复
热议问题