如何计算在 SQLite 中添加上一行值的列?

How to calculate the columns adding the value of the previous row in SQLite?

我想做的是,当我从table记录select时,最后一列是两列相减。现在在第一条记录中,最后一列(即两列的减法)将是 [Value1] - [Value2],其中`[Value1] 和 [Value2] 是 table.

的列

现在第二条记录如下,

'Value of (previous row.last column) + ([Value1] - [Value2])

下一条记录依此类推。

栏目如下,

[ID],[Value1],[Value2]

现在记录如下,

[ID]    [Value1]    [Value2]    [Result]
 1       10           5          10 - 5 = 5
 2       15           7          5 + (15 - 7) = 13
 3       100          50         13 + (100 - 50) = 63
 and so on......

SQLite 不支持 运行ning 总计,但对于您的数据和您想要的结果,可以分解出算术并像这样编写查询:

SELECT t.id, t.value1, t.value2, SUM(t1.value1 - t1.value2) 
FROM table1 AS t 
JOIN table1 AS t1 ON t.id >= t1.id 
GROUP BY t.id, t.value1, t.value2

http://sqlfiddle.com/#!7/efaf1/2/0

此查询会随着行数的增加而变慢。因此,如果您打算 运行 在大型 table 上执行此操作,您可能希望 运行 在 SQLite 之外进行计算。