如何从mysql获取以前的记录

时间:2016-04-24 19:30:43

标签: php mysql

 col1   | col2 | col3 |  col4 |
------------------------------------
  a    |  1   |   1  |   2    |
  b    |  2   |   2  |   6    |
  a    |  3   |   3  |   12   |

col4 = col2 + col3 + prev record col4

我无法使用mysql解决问题,对我来说这很难

那么有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

您可以使用变量计算 col4 = col2 + col3 + prev record col4

select col1, col2, col3,
       @prev := col2+col3+@prev as col4
from   t,
       (select @prev := 0) init

SQL Fiddle

请注意,为了扩展这一点,您可以更好地定义排序顺序,因为上述查询可能会遵循您预期的其他顺序,具体取决于引擎选择使用(或不使用)的索引。

例如,如果 col2 定义排序顺序,请添加ORDER BY col2