Allora. Supponendo di avere una tabella di nome valori con due campi di nome id (la tua chiave primaria) e valore (che contiene i tuoi valori numerici) devi eseguire una query del genere
codice:
SELECT valori.id, valori.valore, valori.valore-nz(tab1.valore,0) AS differenza
FROM valori, valori AS tab1
WHERE tab1.id = (select max(tab2.id) from valori as tab2 where tab2.id < valori.id order by valori.id);
In pratica ho creato due alias di tabella e tramite una subquery fai in modo che il fatto che gli id potrebbero anche non essere contigui non crei problemi.
Devi solo adattare i nomi dei campi al tuo caso specifico.
Fammi sapere.