通过Clickhouse时间函数对数据进行重新采样时,如何解决open_price等于close_price的错误?

问题描述

        query_sql = f"""
           WITH 
               toDateTime('{start.date()} 21:00:00') AS StartTimestamp,toDateTime('{end_date} 15:00:00') AS EndTimestamp
           SELECT 
                local_symbol,max(last_price) AS high_price,min(last_price) AS low_price,argMax(last_price,toUnixTimestamp(fast)) as close_price,argMin(last_price,toUnixTimestamp(fast)) as open_price,sum(volume) AS volume,sum(amount) AS amount
           FROM tick
           WHERE (datetime >= StartTimestamp) AND (datetime <= EndTimestamp) AND local_symbol='{symbol}'
--            GROUP BY toStartOfInterval(datetime,INTERVAL {n} minute ) as fast,local_symbol
         GROUP BY toStartOfMinute(datetime) as fast,local_symbol
           ORDER BY fast ASC
               """

这是我的SQL代码,我想获取open_price,high_price,low_price,close_price,但是我的SQL结果不符合预期

开盘价始终等于收盘价,其他价格正确。

{'local_symbol': 'rb2010.CTP','high_price': 3828.0,'low_price': 3826.0,'close_price': 3827.0,'open_price': 3827.0,'volume': 409,'amount': 15653230.0,'_database': <infi.clickhouse_orm.database.Database object at 0x0000022EF5C95408>}
{'local_symbol': 'rb2010.CTP','volume': 357,'amount': 13663860.0,'low_price': 3825.0,'volume': 1058,'amount': 40483280.0,'close_price': 3826.0,'open_price': 3826.0,'volume': 972,'amount': 37193310.0,'close_price': 3828.0,'open_price': 3828.0,'volume': 643,'amount': 24608060.0,'volume': 739,'amount': 28276760.0,'low_price': 3827.0,'volume': 118,'amount': 4516640.0,'volume': 678,'amount': 25949650.0,'high_price': 3829.0,'volume': 1009,'amount': 38630160.0,'high_price': 3831.0,'low_price': 3829.0,'close_price': 3830.0,'open_price': 3830.0,'volume': 1798,'amount': 68865630.0,'volume': 1039,'amount': 39797350.0,'_database': <infi.clickhouse_orm.database.Database object at 0x0000022EF5C95408>}

我做错了吗?

解决方法

我已经使用argMin(last_price,toUnixTimestamp(datetime)) as open_price解决了该问题,

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...