我有一張表,其中有列表price
和date
,按升序排列。我需要從這個計算返回向量return = price (i)/price (i- 1)
。時間不是基於時間的,這意味着一個記錄可以是在9h34,下一個9h35,然後9h40等等Sql =如何用時間序列的價格計算回報向量?
我發現了以下主題: SQL語法計算返回的數據 的結果,但在Oracle中,我不能在子查詢中使用順序,請問能否幫助我?
我有一張表,其中有列表price
和date
,按升序排列。我需要從這個計算返回向量return = price (i)/price (i- 1)
。時間不是基於時間的,這意味着一個記錄可以是在9h34,下一個9h35,然後9h40等等Sql =如何用時間序列的價格計算回報向量?
我發現了以下主題: SQL語法計算返回的數據 的結果,但在Oracle中,我不能在子查詢中使用順序,請問能否幫助我?
在Oracle中,你可以使用lag
解析函數:
select
price/(lag(price) over (order by i))
, ...
from PriceHistory
這裏,lag(price) over (order by i)
返回前行的價格,由i
列訂購了一套。
好的Andomar它工作得很好,謝謝! – user235693 2009-12-21 19:35:29
伊拉塞馬:如果一個答案'完美地工作',繼續並接受答案。 – 2009-12-21 20:30:53