我有这样的一张桌子:
Number Price Type Date Time
------ ----- ---- ---------- ---------
23456 0,665 SV 2014/02/02 08:00:02
23457 1,3 EC 2014/02/02 07:50:45
23460 0,668 SV 2014/02/02 07:36:34
23461 0,668 SV 2014/02/02 07:37:34
23462 0,668 SV 2014/02/02 07:38:34
23463 0,668 SV 2014/02/02 07:39:34
对于每条记录,我需要上一个/下一个价格。在这种情况下,查询很简单。
Select Lag(price) over (order by date desc, time desc),
Lead(price) over (order by date desc, time desc)
from ITEMS
但是我需要结果下一个价格<>记录价格
我的查询是
Select Lag(price) over (order by date desc, time desc) Nxt_Price,
Lead(price) over (order by date desc, time desc) Prv_Price
from ITEMS
Where Nxt_Price <> price
但它拒绝使用该变量
请尝试以下查询:
SELECT Nxt_Price, Prv_Price
FROM
(Select price, Lag(price) over (order by date desc, time desc) Nxt_Price,
Lead(price) over (order by date desc, time desc) Prv_Price
from ITEMS) AS InnerQuery
Where Nxt_Price <> price
它可能会帮助您。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句