Ok, donc après quelques recherches supplémentaires et la suggestion de @Marc B, je suis finalement arrivé là où je voulais. Au cas où quelqu'un d'autre aurait besoin d'aide, voici ma réponse :
set @price = (select preconormal from precos where codigowine='10088' order by timestamp asc limit 1);
Sur la ligne ci-dessus, je règle @price sur le premier enregistrement au lieu de zéro, pour éviter d'obtenir un lag_price de 65,60 sur la première ligne.
Voici le résultat réel :
select codigowine, preconormal - @price as lag_price, @price:=preconormal curr_price from precos WHERE codigowine='10088' order by timestamp;
Voici le violon travail.