I have a MySQL table named "activities" with fields id(int), tstamp(timestamp), amount(decimal) balance(decimal). Decimal fields hold money values.
id tstamp amount balance
----------------------------------------------
1 2013-03-18 00:00:10 57.00 0.00
2 2013-03-18 00:00:11 13.05 0.00
3 2013-03-18 00:00:12 110.00 0.00
4 2013-03-18 00:00:13 23.50 0.00
5 2013-03-18 00:00:14 35.44 0.00
6 2013-03-18 00:00:15 76.00 0.00
7 2013-03-18 00:00:16 34.74 0.00
8 2013-03-18 00:00:17 120.47 0.00
9 2013-03-18 00:00:18 35.00 0.00
10 2013-03-18 00:00:09 46.00 0.00
so balance fields' values must be like that: current row's balance = CHRONOLOGICALLY previous row's balance + current row's amount.
Notice last row's tstamp value is smaller than first row's tstamp value. so when I say previous row I do not mean current id minus 1. So highest balance value must be at row #9.
And the problem is how to update all balances with chronogically previous row's balance value + current row's amount value?