col1 | col2 | col3 | col4 |
------------------------------------
a | 1 | 1 | 2 |
b | 2 | 2 | 6 |
a | 3 | 3 | 12 |
col4 = col2 + col3 + prev record col4
我无法使用mysql解决问题,对我来说这很难
那么有人可以帮助我吗?
答案 0 :(得分:3)
您可以使用变量计算 col4 = col2 + col3 + prev record col4 :
select col1, col2, col3,
@prev := col2+col3+@prev as col4
from t,
(select @prev := 0) init
请注意,为了扩展这一点,您可以更好地定义排序顺序,因为上述查询可能会遵循您预期的其他顺序,具体取决于引擎选择使用(或不使用)的索引。
例如,如果 col2 定义排序顺序,请添加ORDER BY col2