Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cột được tính toán DATEDIFF của SQL Server giữa các hàng

Tôi khuyên bạn nên sử dụng chế độ xem cho mục đích này:

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

Vì bạn đang sử dụng SQL Server 2012 bạn có thể sử dụng LEAD chức năng:

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. Cách tạo ràng buộc mặc định phụ thuộc cột khác trong máy chủ sql

  2. Ngăn quyền truy cập sử dụng danh tính sai khi thêm vào bảng được liên kết trên máy chủ SQL

  3. chuyển đổi Số sê-ri Ngày trong Excel thành Ngày Thông thường

  4. Cách tốt nhất để kiểm tra kết nối SQL Server theo chương trình là gì?

  5. Di chuyển Cơ sở dữ liệu Microsoft Access sang SQL Server