Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

sql заявка за разлика между текущия ред и предишния ред въз основа на дата и час

В SQL Server 2012+ можете да използвате lag() . В SQL Server 2008 използвайте 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. Резултати от заявка по имейл като HTML таблица в SQL Server (T-SQL)

  2. ODBC и SQL Server 2008:Не можете да използвате подготвени изрази?

  3. Магазинът за заявки на SQL Server

  4. Има ли тест IF EXISTS за свързан сървър?

  5. Изключване на дялове на таблици в SQL Server:Походно ръководство