Da der kun er to rækker mellem den nuværende og den, hvorfra du vil hente de 'historiske' data, kunne du måske bruge variabler til at gemme dataene midlertidigt ved at bruge noget som:
set @oldid0=999999;
set @oldid1=999999;
set @oldid2=999999;
select @oldid0:=@oldid1,@oldid1:=@oldid2,@oldid2:=id, value/@oldid0 from table order by id asc;
Det er en meget rodet løsning, men jeg tror, den vil gøre arbejdet. Måske er der en måde at forhindre variablerne i at blive vist, jeg har ikke undersøgt det så langt.