我想在 SQLite 中创建一个视图,其中一行中的字段取决于前一行中字段的值。我可以使用LAG
分析函数在 Oracle 中执行此操作,但不确定如何在 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'