我有一個單列的表。列是這樣的:MySQL添加前一行的值
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)
我該如何構建一個查詢來完成該操作?
本質上,我只是想要ROW[X]
和ROW[X-1]
之間的difference
。
我有一個單列的表。列是這樣的:MySQL添加前一行的值
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)
我該如何構建一個查詢來完成該操作?
本質上,我只是想要ROW[X]
和ROW[X-1]
之間的difference
。
SELECT a.val, (@runtot := a.val + @runtot) AS rt, (@runtot := a.val) ne
FROM Table1 a,(SELECT @runtot:=0) c
這似乎是工作輸出。我試圖在每個階段重新變量變量。 試一試。
尼克我剛剛刪除的答案,因爲我沒有測試,它顯示了你想要什麼不同的結果。你能解釋一點點還是提供更好的例子。這是我以前的代碼'SELECT a.val,(@runtot:= @runtot + a.val)AS rt FROM table1 a,(SELECT @runtot:= 0)c'。謝謝。 –
我只想獲取上一行的值並將其添加到當前行的值並將其顯示在新列中。多數民衆贊成 – nick
我更新了我的問題 – nick