我是SQL的新手。我想知道是否有一种有效的方法来减去同一列的行值。该列看起来像这样 -
Credit_Entry
21000
71800
117300
118200
所以我想要的是row2-row1,row3-row2,row4-row3并将结果存储在一个单独的列中。
答案 0 :(得分:1)
假设您有id
列或类似内容,那么最简单的方法是使用ANSI标准函数lag()
:
select t.*, t.value - lag(value) over (order by id) as diff
from table t;
许多(但不是全部)数据库都支持此功能。