sql >> Databasteknik >  >> RDS >> Sqlserver

Beräkna tidsskillnaden mellan två rader

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

I 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


  1. Hur ansluter man Android-appen till MySQL-databasen?

  2. Äter vår egen hundmat – kör JIRA på MariaDB

  3. Hur får man ut skillnaden i år från två olika datum?

  4. Rails 3 ActiveRecord:Beställ efter räkning på association