在 Google Big Query Dataset 中查询价格与时间时,我目前遇到了准确性问题。我想要的是每五分钟一个资产的价格,但有些资产有一分钟的空行。
例如,对于 VEN 和 ICX 这两种加密货币,可能会有特定秒的价格数据不可用的时间。在我的查询中,我每 300 秒查询一次数据库并获取价格数据,但有些资产没有 5 分 0 秒的时间戳。因此,我希望得到最后已知的价格:一个好的价格是 4 分 58 秒。
我现在的查询是:
SELECT MIN(price) AS PRICE, timestamp
FROM [coin_data]
WHERE coin="BTCUSD" AND TIMESTAMP_TO_SEC(timestamp) % 300 = 0
GROUP BY timestamp
ORDER BY timestamp ASC
此查询会在特定位置导致这种差距:
Row((10339.25, datetime.datetime(2018, 2, 26, 21, 55, tzinfo=<UTC>)))
Row((10354.62, datetime.datetime(2018, 2, 26, 22, 0, tzinfo=<UTC>)))
Row((10320.0, datetime.datetime(2018, 2, 26, 22, 10[should be 5 for 5 min], tzinfo=<UTC>)))
最后一列中的这个不应该是 10,因为那是分钟位置,它应该是 5 分钟。