Mysql - 循环语句将一列引用到另外两列的差异

时间:2016-10-07 15:32:07

标签: mysql

在MySQL中,我希望列a(行2)等于列c(行1)减去列b(行1)的许多行。到目前为止我唯一可以弄清楚如何做到这一点的方法是创建一个新的列d,它执行cb,其中row = 1.问题是我必须这么做很多次,我知道这不是非常高效。

感谢您提前获取有关最佳方法的指导。

create table example (row int not null, a int not null, b int not null, c int not null);
insert into example (row,a,b,c) (1,2,5,20) (2,15,18,72) (3,54,57,228);

1 个答案:

答案 0 :(得分:0)

如果行号是连续的,您可以使用自联接将行n与行n+1相关联。

UPDATE example AS e1
JOIN example AS e2 ON e1.row = e2.row + 1
SET e1.a = e2.c - e2.b