Ponieważ istnieją tylko dwa wiersze między bieżącym a tym, z którego chcesz uzyskać „historyczne” dane, czy możesz użyć zmiennych do tymczasowego przechowywania danych, używając czegoś takiego:
set @oldid0=999999;
set @oldid1=999999;
set @oldid2=999999;
select @oldid0:[email protected],@oldid1:[email protected],@oldid2:=id, value/@oldid0 from table order by id asc;
To bardzo nieporządne rozwiązanie, ale myślę, że załatwi sprawę. Być może istnieje jakiś sposób, aby zapobiec wyświetlaniu zmiennych, nie zajmowałem się tym tak daleko.