Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server DATEDIFF Kolom Komputasi Antar Baris

Saya menyarankan Anda untuk menggunakan tampilan untuk tujuan ini:

CREATE VIEW Table1_vw 
AS
WITH cte AS (
    SELECT  *, 
            ROW_NUMBER() OVER (ORDER BY RecordTime) AS rn
    FROM    dbo.Table1
)
SELECT  mc.RecordTime,
        mc.Running,
        mc.Fault,
        DATEDIFF(second, mc.RecordTime, mp.RecordTime) Diff
FROM cte mc
LEFT JOIN cte mp
ON mc.rn = mp.rn - 1

Karena Anda menggunakan SQL Server 2012 Anda dapat menggunakan LEAD fungsi:

CREATE VIEW Table1_vw 
AS
SELECT  RecordTime,
        Running,
        Fault,
        DATEDIFF(second,RecordTime,LEAD(RecordTime,1,NULL) OVER (ORDER BY RecordTime ASC) ) as Diff
FROM Table1
GO


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. System.Data.SqlClient.SqlException:Login gagal untuk pengguna

  2. jalankan prosedur tersimpan dan kembalikan nilai dari VBA

  3. Bagaimana cara mengkonfigurasi proyek SSIS 2012 agar berjalan di bawah konfigurasi lingkungan yang berbeda?

  4. Kesalahan dalam memilih data dari tabel di SQL Server

  5. SQL pilih pernyataan di mana klausa