Seit Ende 2018 (Version 3.25) gibt es Windows Functions in SQLite.
Damit nimmt man z.B. im Fall hier für Zugriff auf vorige oder folgende Datensätze lag() und lead() und benötigt keine Unterabfragen dazu. Der Zugriff auf andere Datensätze (vorige, nächste) ist damit sehr vergleichbar zu Tabellenkalkulationsprogrammen.
Da die Unterabfragen wegfallen und eine spezifische Implementierung dieser Funktionen vorgenommen wurde, ist es idR auch viel schneller.
Die Implementierung würde ich schon recht umfangreich nennen.
https://www.sqlite.org/windowfunctions.html
Hier ein Tutorial:
http://www.sqlitetutorial.net/sqlite...ns/sqlite-lag/