SQLite で、ある行のフィールドが前の行のフィールドの値に依存するビューを作成したいと考えています。分析関数を使用してOracleでこれを行うことができましたがLAG
、SQLiteでそれを行う方法がわかりません。
たとえば、テーブルが次のようになっているとします。
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
ビューを次のようにしたいと思いますWHERE item = 'apple'
:
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
編集:
私が探しているクエリに相当するものは、Oracleでは次のようになります(これは試していませんが、これは正しいと思います):
SELECT day, price,
price - LAG( price, 1 ) OVER ( ORDER BY day ) AS change
FROM mytable
WHERE item = 'apple'