我有高頻率刻度數據,需要從微秒到6秒的時間間隔進行排序。每日報價數據從美國東部時間09:15:00.000開始,到美國東部時間15:15:00,000結束。使用Oracle,從微秒到6秒的時間間隔
這是我temp2
表:
date1 | close1 | volume1
-----------------------------+--------+---------
2010-04-16 09:15:28.010 EST | 10001 | 4
2010-04-16 09:16:00.020 EST | 10002 | 5
2010-04-16 09:16:35.030 EST | 10003 | 6
2010-04-16 09:16:35.040 EST | 10001 | 3
2010-04-16 15:14:59.050 EST | 10007 | 3
2010-04-19 09:15:05.050 EST | 10002 | 1
... | ... | ...
(date1
是VARCHAR2(28)
; close1
和volume1
都是NUMBER
S)。
如何獲得以下結果?
date2 | close2 | volume2
---------------------+--------+---------
2010-04-16 09:15:30 | 10001 | 4
2010-04-16 09:16:06 | 10002 | 5
2010-04-16 09:16:36 | 10001 | 9
2010-04-16 15:15:00 | 10007 | 3
2010-04-19 09:15:06 | 10002 | 1
... | ... | ...
的間隔00,06,12,18,24,30,36,42,48,54,並且如果在範圍內微秒close2
柱使用LAST_VALUE 00-05.999,只需設置close2
列值作爲last_vlue的間隔,設置volume2
列值爲總和volume1
的區間。
我不明白您的輸入數據與您的輸出之間的關係;你能詳細解釋一下嗎? – ruakh 2012-02-18 14:09:27
如果您要存儲時間戳,然後將它們存儲在'timestamp'數據類型中,那麼在此之後排序很容易... – Ben 2012-02-18 14:25:00
@ruakh:close2列使用間隔爲00,06,12,18,24,30,36,38的last_value,如果在00-05.999範圍內有微秒,只需將close2列值設置爲區間的last_vlue,則將volume2列值設置爲區間的volume1之和。 – 2012-02-18 14:48:42