evo, na brzinu, verovatno moze i da se optimizuje...
Kôd:
select id, value, 100 * value / (select value from test where id = (select max(id) from test where id < t.id)) - 100 vi from test t;
+------+-------+----------+
| id | value | vi |
+------+-------+----------+
| 1 | 50 | NULL |
| 2 | 30 | -40.0000 |
| 3 | 40 | 33.3333 |
+------+-------+----------+