我有一个只有一列的表格。专栏是这样的:
1
2
3
4
5
...
我想创建一个查询,该查询将显示另一列,该列将添加先前的值。所以:
1 1 ( 0 + 1 )
2 3 ( 1 + 2 )
3 5 ( 2 + 3 )
4 7 ( 3 + 4 )
5 9 ( 4 + 5 )
9 14 (5 + 9)
45 54 ( 9 + 45)
我将如何构造一个查询来完成它?
本质上,我只想要
difference
和 ROW[X]
之间的 ROW[X-1]
。 最佳答案
SELECT a.val, (@runtot := a.val + @runtot) AS rt, ( @runtot := a.val ) ne
FROM Table1 a,(SELECT @runtot:=0) c
这似乎正在工作。我尝试在每个阶段重新初始化变量。试试看。
SQLFiddle Demo