SQL सर्वर 2012+ में, आप lag()
. का उपयोग कर सकते हैं . SQL सर्वर 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;