【发布时间】:2012-02-18 13:57:46
【问题描述】:
我有高频滴答数据,需要从微秒到 6 秒的间隔进行排序。每日分时数据从美国东部标准时间 09:15:00.000 开始,到美国东部标准时间 15:15:00.000 结束。
这是我的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 都是 NUMBERs)。
我如何得到以下结果?
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
... | ... | ...
close2 列使用间隔 00、06、12、18、24、30、36、42、48、54 的 last_value。如果微秒在 00-05.999 范围内,只需将 close2 列值设置为 last_vlue区间的volume2列值设置为区间的volume1之和。
【问题讨论】:
-
我不明白你的输入数据和你的输出之间的关系;你能详细说明一下吗?
-
如果您要存储时间戳,然后将它们存储在
timestamp数据类型中,那么之后排序很容易...... -
@ruakh:close2 列使用间隔 00、06、12、18、24、30、36、42、48、54 的 last_value。如果微秒在 00-05.999 范围内,只需设置 close2列值作为区间的last_vlue,设置volume2列值作为区间的volume1之和。
-
您可以使用 to_timestamp 将 varchar2 字段转换为时间戳数据类型
-
工作压力大,急需专家帮助。继续寻找。