首页 > 解决方案 > 甲骨文 | 使用 SQL | 编写查询以将数据时间范围从 5 分钟更改为自定义分钟 (30,60,120,240)

问题描述

我有一张名为 cash_intra 的表。

数据每五分钟被泵送到这个表中。我想写一个查询,以便我可以将时间范围更改为 30 分钟、60 分钟、120 分钟、240 分钟。

数据抽取从 09:15 开始,每 5 分钟在 15:25 左右结束。我想要一个可以将这 5 分钟数据转换为 30 分钟(和 60,120,240)的查询。

此外,在转换时间范围后,查找、第一个值、最后一个值、最小值和最大值。

问题是 30 分钟的时间范围是从 09:15 到 09:50,而不是 09:15 到 09:45(30 分钟)

我试过写下面的查询。输入以分钟为单位。

此表具有以下 DDL。

CREATE TABLE CASH_INTRA
(
SYMBOL  VARCHAR2(20 BYTE), 
UDATE   DATE,
OPEN    FLOAT(126),
HIGH    FLOAT(126),
LOW     FLOAT(126),
CLOSE   FLOAT(126),
VOLUME  INTEGER,
)

从 (

        select a.*
        ,min(udate) over (partition by symbol,trunc(udate),sr order by sr desc ) UDATE_NEW
        ,first_value(open) over (partition by symbol,trunc(udate),sr ORDER BY symbol,trunc(udate) desc,sr,MIN  ) OPEN_new
        ,max(high) over (partition by symbol,trunc(udate),sr ORDER BY symbol,trunc(udate) desc,sr  ) HIGH_new
        ,min(low) over (partition by symbol,trunc(udate),sr ORDER BY symbol,trunc(udate) desc,sr  ) LOW_new
        ,first_value(close) over (partition by symbol,trunc(udate),sr ORDER BY symbol,trunc(udate) desc,sr,min desc  ) CLOSE_new
        ,sum(volume) over (partition by symbol,trunc(udate),sr ORDER BY symbol,trunc(udate) desc,sr  ) vol_new

        from 
        (
            Select    a.*
            , 24*60 * (a.udate-15/(24*60) -to_date(to_char(a.udate,'DD-MON-YYYY') || ' 09:00:00' ,'DD-MON-YYYY HH24:MI:SS'))             MIN
            ,floor(((a.udate-15/(24*60) -to_date(to_char(a.udate,'DD-MON-YYYY') || ' 09:00:00' ,'DD-MON-YYYY HH24:MI:SS')) * 24*60)/minutes) SR
            from cash_intra a  
            where 
            1=1
            and a.udate > to_date('01-02-2021','DD-MM-YYYY')
            order by symbol,a.udate desc

        ) a order by symbol,udate desc
    ) order by symbol,udate_new desc
象征 日期 打开 高的 低的 体积
是的 2021 年 1 月 2 日 15:25:00 16.4 16.45 16.4 16.4 787015
是的 2021 年 1 月 2 日 15:20:00 16.4 16.45 16.35 16.45 3503044
是的 2021 年 1 月 2 日 15:15:00 16.35 16.45 16.35 16.4 5082249
是的 2021 年 1 月 2 日 15:10:00 16.25 16.4 16.2 16.35 9113142
是的 2021 年 1 月 2 日 15:05:00 16.25 16.3 16.25 16.25 2348478
是的 2021 年 1 月 2 日 15:00:00 16.2 16.3 16.2 16.25 2167321
是的 2021 年 1 月 2 日 14:55:00 16.25 16.3 16.2 16.25 1782746
是的 2021 年 1 月 2 日 14:50:00 16.25 16.3 16.2 16.25 1473975
是的 2021 年 1 月 2 日 14:45:00 16.3 16.3 16.2 16.25 1650834
是的 2021 年 1 月 2 日 14:40:00 16.25 16.3 16.25 16.3 758533
是的 2021 年 1 月 2 日 14:35:00 16.2 16.3 16.15 16.3 3542270
是的 2021 年 1 月 2 日 14:30:00 16.2 16.2 16.15 16.2 1206264
是的 2021 年 1 月 2 日 14:25:00 16.2 16.2 16.15 16.15 1332780
是的 2021 年 1 月 2 日 14:20:00 16.15 16.2 16.15 16.2 650918
是的 2021 年 1 月 2 日 14:15:00 16.15 16.2 16.05 16.2 6078391
是的 2021 年 1 月 2 日 14:10:00 16.1 16.15 16.1 16.15 833415
是的 2021 年 1 月 2 日 14:05:00 16.2 16.2 16.1 16.1 1587571
是的 2021 年 1 月 2 日 14:00:00 16.2 16.2 16.15 16.15 956828
是的 2021 年 1 月 2 日 13:55:00 16.25 16.3 16.15 16.2 3328170
是的 2021 年 1 月 2 日 13:50:00 16.35 16.35 16.25 16.3 1872855
是的 2021 年 1 月 2 日 13:45:00 16.3 16.35 16.25 16.35 2026572
是的 2021 年 1 月 2 日 13:40:00 16.3 16.4 16.25 16.25 6296412
是的 2021 年 1 月 2 日 13:35:00 16.2 16.3 16.15 16.3 4222645
是的 2021 年 1 月 2 日 13:30:00 16.1 16.25 16.05 16.2 5678808
是的 2021 年 1 月 2 日 13:25:00 16.1 16.1 16.05 16.05 1173837
是的 2021 年 1 月 2 日 13:20:00 16.1 16.1 16.05 16.1 1138152
是的 2021 年 1 月 2 日 13:15:00 16.05 16.1 16 16.1 1134656
是的 2021 年 1 月 2 日 13:10:00 16.1 16.1 16 16.05 2240108
是的 2021 年 1 月 2 日 13:05:00 16.05 16.1 16 16.1 3673388
是的 2021 年 1 月 2 日 13:00:00 16.1 16.1 16 16.05 2368639
是的 2021 年 1 月 2 日 12:55:00 16.05 16.1 16 16.05 2745855
是的 2021 年 1 月 2 日 12:50:00 15.9 16.05 15.85 16 4361684
是的 2021 年 1 月 2 日 12:45:00 15.95 15.95 15.85 15.85 1397722
是的 2021 年 1 月 2 日 12:40:00 15.9 15.95 15.9 15.95 593454
是的 2021 年 1 月 2 日 12:35:00 15.95 15.95 15.9 15.95 346498
是的 2021 年 1 月 2 日 12:30:00 15.95 15.95 15.9 15.95 416777
是的 2021 年 1 月 2 日 12:25:00 15.85 15.95 15.8 15.95 1550090
是的 2021 年 1 月 2 日 12:20:00 15.9 15.9 15.8 15.8 734989
是的 2021 年 1 月 2 日 12:15:00 15.95 15.95 15.85 15.85 2599963
是的 2021 年 1 月 2 日 12:10:00 15.95 16 15.9 15.95 1654169
是的 2021 年 1 月 2 日 12:05:00 15.95 16 15.9 16 1422148
是的 2021 年 1 月 2 日 12:00:00 15.95 15.95 15.9 15.95 991175
是的 2021 年 1 月 2 日 11:55:00 15.95 16 15.9 15.95 1775197
是的 2021 年 1 月 2 日 11:50:00 15.95 15.95 15.9 15.95 1243049
是的 2021 年 1 月 2 日 11:45:00 15.9 15.95 15.85 15.95 2362112
是的 2021 年 1 月 2 日 11:40:00 15.9 15.9 15.85 15.9 717400
是的 2021 年 1 月 2 日 11:35:00 15.9 15.9 15.85 15.9 573491
是的 2021 年 1 月 2 日 11:30:00 15.9 15.95 15.8 15.9 2175128
是的 2021 年 1 月 2 日 11:25:00 15.85 15.9 15.8 15.9 3243313
是的 2021 年 1 月 2 日 11:20:00 15.85 15.9 15.8 15.85 1699236
是的 2021 年 1 月 2 日 11:15:00 15.75 15.85 15.7 15.85 1151059
是的 2021 年 1 月 2 日 11:10:00 15.75 15.75 15.7 15.75 578458
是的 2021 年 1 月 2 日 11:05:00 15.7 15.75 15.65 15.75 2931645
是的 2021 年 1 月 2 日 11:00:00 15.85 15.85 15.7 15.7 1483777
是的 2021 年 1 月 2 日 10:55:00 15.85 15.85 15.8 15.8 930843
是的 2021 年 1 月 2 日 10:50:00 15.8 15.85 15.75 15.85 1523350
是的 2021 年 1 月 2 日 10:45:00 15.75 15.8 15.75 15.8 657759
是的 2021 年 1 月 2 日 10:40:00 15.8 15.8 15.75 15.8 726103
是的 2021 年 1 月 2 日 10:35:00 15.75 15.8 15.7 15.8 1654956
是的 2021 年 1 月 2 日 10:30:00 15.7 15.75 15.65 15.7 913641
是的 2021 年 1 月 2 日 10:25:00 15.65 15.75 15.6 15.7 3119643
是的 2021 年 1 月 2 日 10:20:00 15.6 15.65 15.55 15.65 854041
是的 2021 年 1 月 2 日 10:15:00 15.6 15.6 15.55 15.6 673388
是的 2021 年 1 月 2 日 10:10:00 15.55 15.6 15.55 15.6 806053
是的 2021 年 1 月 2 日 10:05:00 15.6 15.6 15.45 15.6 3962093
是的 2021 年 1 月 2 日 10:00:00 15.6 15.6 15.5 15.55 2470349
是的 2021 年 1 月 2 日 09:55:00 15.6 15.6 15.5 15.6 3466551
是的 2021 年 1 月 2 日 09:50:00 15.65 15.65 15.55 15.6 3053935
是的 2021 年 1 月 2 日 09:45:00 15.55 15.65 15.55 15.6 1977711
是的 2021 年 1 月 2 日 09:40:00 15.55 15.6 15.5 15.6 1728704
是的 2021 年 1 月 2 日 09:35:00 15.6 15.65 15.55 15.55 3252134
是的 2021 年 1 月 2 日 09:30:00 15.65 15.7 15.5 15.6 5555440
是的 2021 年 1 月 2 日 09:25:00 15.8 15.8 15.65 15.65 3370366
是的 01/02/2021 09:20:00 15.9 15.9 15.8 15.85 4136299
是的 2021 年 1 月 2 日 09:15:00 15.95 16.05 15.85 15.9 6181939

- 预期数据 [30 分钟内]

象征 日期 打开 高的 低的 体积
是的 2021 年 1 月 2 日 15:15:00 16.35 16.45 16.35 16.4 9372308
是的 2021 年 1 月 2 日 14:45:00 16.3 16.4 16.2 16.35 18536496
是的 2021 年 1 月 2 日 14:15:00 16.15 16.3 16.05 16.3 13569156
是的 2021 年 1 月 2 日 13:45:00 16.3 16.35 16.1 16.15 10605411
是的 2021 年 1 月 2 日 13:15:00 16.05 16.4 16 16.25 19644510
是的 2021 年 1 月 2 日 12:45:00 15.95 16.1 15.85 16.05 16787396
是的 2021 年 1 月 2 日 12:15:00 15.95 15.95 15.8 15.95 6241771
是的 2021 年 1 月 2 日 11:45:00 15.9 16 15.85 15.95 9447850
是的 2021 年 1 月 2 日 11:15:00 15.75 15.95 15.7 15.9 9559627
是的 2021 年 1 月 2 日 10:45:00 15.75 15.85 15.65 15.75 8105832
是的 2021 年 1 月 2 日 10:15:00 15.6 15.8 15.55 15.8 7941772
是的 2021 年 1 月 2 日 09:45:00 15.55 15.65 15.45 15.6 15736692
是的 2021 年 1 月 2 日 09:15:00 15.95 16.05 15.5 15.6 24224882

- 预期数据 [60 分钟内]

象征 日期 打开 高的 低的 体积
是的 2021 年 1 月 2 日 15:15:00 16.35 16.45 16.35 16.4 9372308
是的 2021 年 1 月 2 日 14:15:00 16.15 16.4 16.05 16.35 32105652
是的 2021 年 1 月 2 日 13:15:00 16.05 16.4 16 16.15 30249921
是的 2021 年 1 月 2 日 12:15:00 15.95 16.1 15.8 16.05 23029167
是的 2021 年 1 月 2 日 11:15:00 15.75 16 15.7 15.95 19007477
是的 2021 年 1 月 2 日 10:15:00 15.6 15.85 15.55 15.75 16047604
是的 2021 年 1 月 2 日 09:15:00 15.95 16.05 15.45 15.6 39961574
象征 日期 打开 高的 低的 体积
是的 2021 年 1 月 2 日 13:15:00 15.95 16.4 15.8 16.15 53279088
是的 2021 年 1 月 2 日 11:15:00 15.6 16 15.55 15.95 35055081
是的 2021 年 1 月 2 日 09:15:00 15.95 16.05 15.45 15.6 39961574
象征 日期 打开 高的 低的 体积
是的 2021 年 1 月 2 日 13:15:00 15.95 16.45 15.8 16.4 94757048
是的 2021 年 1 月 2 日 09:15:00 15.95 16.05 15.45 15.95 75016655

标签: sqloracle

解决方案


推荐阅读