我有一张有市场数据的表格.表 struct 如下所示:

symbol side price amount timestamp
BTC-USD buy 35831.56 0.00051151 2023-11-15T10:42:11.754626Z

我需要按时间间隔汇总给定交易品种的价格.在每一个时间区间,我需要知道:开盘价、收盘价、最高价和最低价.

推荐答案

开盘是第一个价格,关闭是最后一个价格,用sample.

SELECT 
    TIMESTAMP,
    FIRST(PRICE) AS OPEN_PRICE,
    LAST(PRICE) AS CLOSE_PRICE,
    MAX(PRICE) AS MAX_PRICE,
    MIN(PRICE) AS MIN_PRICE,
FROM trades
SAMPLE BY 1h

Sql相关问答推荐

获取每个帖子的匹配关键字列表

前面的语句不喜欢AND LIKE?当try 更新使用ID和日期过滤的表时

R中对Arrow duckdb工作流的SQL查询

SQL将 Select 查询作为新列添加到另一个 Select 查询

分组多输出访问查询问题

Lag()函数的差异:R与SQL(将R代码转换为SQL)

PostgreSQL:按小时查看调整日期

SQL按日期分组字段和如果日期匹配则求和

不存在记录的国外关键点

如何使用jsonn_populate_record()插入到包含IDENTITY列的表中

将空 JSON 数组添加到 SQL Server 表列中的 JSON 字符串

获取上个月和上一年的值

Spark / Hive:如何获取列中正值的百分比?

每次计数器增加时通过运行总重置进行分组

SQL Server:时态表并在运行时添加计算列

计算 BigQuery 中列的中值差 - 分析函数不能作为聚合函数的参数

按公司和产品查询最近发票的平均价格的SQL查询

Snowflake 中的对象是如何比较的?

如何计算每行出现的次数并显示在另一个表中?

BigQuery 将一行拆分为多列