gpt4 book ai didi

mysql - 使用 SQL 将报价数据转换为烛台 (OHLC)

转载 作者:行者123 更新时间:2023-11-29 05:47:14 26 4
gpt4 key购买 nike

我有一个包含列的表格:

timeInMilliseconds |价格

我想从中创建 OHLC(开盘价、最高价、最低价、收盘价)蜡烛图。这基本上是将某个时间段(假设每 1 分钟)的所有价格分组,然后选择它们的最低价、最高价以及第一个和最后一个价格。

到目前为止我已经创建了这个查询:

SELECT
MIN(price) as low,
MAX(price) as high,
FLOOR(timeInMilliseconds/(1000*60)) as open_time
FROM ticks
GROUP BY FLOOR(timeInMilliseconds/(1000*60))

这行得通,但问题是开盘价(第一个)和收盘价(最后一个)。
有什么方法可以(有效地)让它们进入同一个查询吗?

最佳答案

您需要找到每个时间段的最大和最小时间,然后将您的表JOIN到它们以获得那些时间的price值:

SELECT t1.price AS open,
m.high,
m.low,
t2.price as close,
open_time
FROM (SELECT MIN(timeInMilliseconds) AS min_time,
MAX(timeInMilliseconds) AS max_time,
MIN(price) as low,
MAX(price) as high,
FLOOR(timeInMilliseconds/(1000*60)) as open_time
FROM ticks
GROUP BY open_time) m
JOIN ticks t1 ON t1.timeInMilliseconds = min_time
JOIN ticks t2 ON t2.timeInMilliseconds = max_time

Demo on dbfiddle

关于mysql - 使用 SQL 将报价数据转换为烛台 (OHLC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58795220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com