在MySQL视图中获取上一行的值

时间:2013-12-03 14:39:17

标签: mysql sql view

假设我有这样的事情:

MySQL表

Date        |   Val   
2013/11/22  |   2     
2013/11/23  |   4     
2013/11/25  |   12    
2013/11/30  |   28    
2013/12/02  |   2     

我需要一个查询来获取另一列“当前”行的值加上前一行的值的总和。 通过这个例子,结果将是这样的:

Date        |   Value   |  Total
2013/11/22  |   2       |  2
2013/11/23  |   4       |  6          <--- Because 4+2 = 6
2013/11/25  |   12      |  16
2013/11/30  |   28      |  40
2013/12/02  |   2       |  30

问题在于我无法使用变量,因为我在视图上。

我该怎么做?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

SELECT
t.Date,
t.Val,
COALESCE((SELECT Val FROM Table1 sq WHERE sq.Date < t.Date ORDER BY sq.Date DESC LIMIT 1), 0) + t.Val AS whatever
FROM
Table1 t
ORDER BY t.Date