Если вы действительно хотите быть уверены в заказах, используйте «Row_Number ()» и сравните следующую запись текущей записи (внимательно посмотрите на предложение «on»)
T1.ID + 1 = T2.ID
Вы в основном присоединяетесь к следующей строке с текущей строкой, не указывая "min" или не делая "top". Если у вас есть небольшое количество записей, другие решения от "Dems" или "Quassanoi" будут работать нормально.
with T2 as (
select ID = ROW_NUMBER() over (order by rowInt),
rowInt, Value
from myTable
)
select T1.RowInt, T1.Value, Diff = IsNull(T2.Value, 0) - T1.Value
from ( SELECT ID = ROW_NUMBER() over (order by rowInt), *
FROM myTable ) T1
left join T2 on T1.ID + 1 = T2.ID
ORDER BY T1.ID