如何计算在 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 之外进行计算。
我想做的是,当我从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 之外进行计算。