Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Simulieren der Verzögerungsfunktion auf MySQL

Ok, nach weiterem Graben und dem Vorschlag von @Marc B bin ich endlich dort angekommen, wo ich wollte. Falls noch jemand Hilfe braucht, hier ist meine Antwort:

set @price = (select preconormal from precos where codigowine='10088' order by timestamp asc limit 1);

In der obigen Zeile setze ich @price auf den ersten Datensatz statt auf Null, um zu vermeiden, dass in der ersten Zeile ein lag_price von 65,60 angezeigt wird.

Unten ist das tatsächliche Ergebnis:

select codigowine, preconormal - @price as lag_price, @price:=preconormal curr_price from precos WHERE codigowine='10088' order by timestamp;

Hier ist die Geige funktioniert.