sql >> Databáze >  >> RDS >> Sqlserver

Vypočítejte časový rozdíl mezi dvěma řadami

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

V 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. Návrh databáze pro náborový systém

  2. SQL Server Performance File IO Statistics

  3. Jak vrátím více sad výsledků pomocí SqlCommand?

  4. Návod Jak zálohovat a obnovovat (exportovat a importovat) databáze MySQL