Utwórz widok SQLite, w którym wiersz zależy od poprzedniego wiersza
Chciałbym utworzyć widok w SQLite, w którym pole w jednym wierszu zależy od wartości pola w poprzednim wierszu. Mógłbym to zrobić w Oracle za pomocąLAG
funkcja analityczna, ale nie wiem, jak to zrobić w SQLite.
Na przykład, jeśli moja tabela wyglądała tak:
<code>ITEM DAY PRICE apple 2011-01-07 1.25 orange 2011-01-02 1.00 apple 2011-01-01 1.00 orange 2011-01-03 2.00 apple 2011-01-08 1.00 apple 2011-01-10 1.50 </code>
Chciałbym, żeby mój widok wyglądał jakWHERE item = 'apple'
:
<code>DAY PRICE CHANGE 2011-01-01 1.00 (null) 2011-01-07 1.25 0.25 2011-01-08 2.00 0.75 2011-01-10 1.50 -0.50 </code>
Edytować:
Odpowiednik szukanego przeze mnie zapytania wyglądałby jak w Oracle (nie próbowałem tego, ale myślę, że jest to poprawne):
<code>SELECT day, price, price - LAG( price, 1 ) OVER ( ORDER BY day ) AS change FROM mytable WHERE item = 'apple' </code>