col1 | col2 | col3 | col4 |
------------------------------------
a | 1 | 1 | 2 |
b | 2 | 2 | 6 |
a | 3 | 3 | 12 |
Col4 = Col2+Col3+上一个记录 Col4
我无法使用mysql解决问题,这对我来说太难了
那么谁能帮我?
您可以使用变量来计算 col4 = col2+col3+prev 记录 col4:
select col1, col2, col3,
@prev := col2+col3+@prev as col4
from t,
(select @prev := 0) init
SQL 小提琴
请注意,要扩展它,您最好定义一个排序顺序,因为上述查询可能遵循比您预期的不同的顺序,具体取决于引擎选择使用(或不使用)的索引。
例如,如果 col2 定义排序顺序,请添加ORDER BY col2