Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Oblicz różnicę czasu między dwoma rzędami

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

W 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy wszyscy migrują do chmury?

  2. Dowiedz się, jak korzystać z programu SQL Server Management Studio

  3. Jakie są sposoby uzyskania dostępu do Microsoft SQL Server z systemu Linux?

  4. Zalety wydajności SQL Server 2016 Enterprise Edition

  5. Metody stronicowania SQL Server 2008?