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

kueri sql untuk perbedaan antara baris saat ini dan baris sebelumnya berdasarkan datetime

Di SQL Server 2012+, Anda dapat menggunakan lag() . Di SQL Server 2008, gunakan 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. Bagaimana menemukan tabel yang tidak digunakan di SQL Server

  2. Peningkatan Platform Data SQL Server pada tahun 2015

  3. Log SQL Server 2008 tidak akan terpotong

  4. Mengoptimalkan SQL Query untuk Menghitung saldo akun

  5. 2 Cara untuk Melihat apakah Fitur Usang Masih Digunakan di Instance SQL Server