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

truy vấn sql cho sự khác biệt giữa hàng hiện tại và hàng trước đó dựa trên ngày giờ

Trong SQL Server 2012+, bạn có thể sử dụng lag() . Trong SQL Server 2008, sử dụng apply :

select t.*,
       coalesce(t.cumulativeValue - tprev.cumulativeValue, t.cumulativeValue) as diff
from t outer apply
     (select top 1 tprev.*
      from t tprev
      where tprev.siteId = t.siteId and tprev.readtime < t.readtime
      order by tprev.readtime desc
     ) tprev;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sử dụng pyodbc trên linux để chèn các ký tự unicode hoặc utf-8 vào trường nvarchar mssql

  2. Số ngày trong tuần trong một phạm vi ngày trong TSQL

  3. Ưu điểm của VistaDB là gì

  4. 4 Tài nguyên giám sát máy chủ SQL tuyệt vời dành cho quản trị viên cơ sở dữ liệu

  5. SQL Server trả về số tuần không mong muốn