sql >> Databáze >  >> RDS >> Sqlserver

sql dotaz na rozdíl mezi aktuálním řádkem a předchozím řádkem na základě datetime

V SQL Server 2012+ můžete použít lag() . V SQL Server 2008 použijte 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. SSIS Execute Process Task visí z úlohy SQL Server, žádné chyby

  2. Vložte testovací řetězec BLOB větší než 2000 nebo 4000 bajtů

  3. Je časové razítko v mysql ukládáno do mezipaměti při načítání v různých časových pásmech?

  4. dblink nepoužívá soubor .pgpass