我使用以下代码查询,我确定还有更多数据,但唯一的输出本可以延续5天的数据。日内数据很多(每15分钟一次)。数据下载有限制吗?在这种情况下,我每天需要查询1行,但无法执行。任何帮助将不胜感激。
我的代码:
SELECT "account_entity" as app_vendor_id, "balance", "source", "base_ccy" as currency
FROM "data_feeds"
WHERE "type" = 'LPACCOUNT' and ("base_ccy" = 'BCH' OR "base_ccy"='BTC' OR "base_ccy"='ETH'
OR "base_ccy"='ETC' OR "base_ccy"='NEO' OR "base_ccy"='QTUM' OR "base_ccy"='XRP' OR "base_ccy"='DASH' OR "base_ccy"='ENJ' OR "base_ccy"='LTC' OR "base_ccy"='MCO' OR "base_ccy"='TRX'
OR "base_ccy"='XMR' OR "base_ccy"='USDC' OR "base_ccy"='BSV' OR "base_ccy"='BTG' OR "base_ccy"='GAS' OR "base_ccy"='UDC')
AND ("account_entity" = 'CORP')
ORDER BY "time" DESC
编辑:
我找到了一种使用|> hourSelection(start: 23, stop: 00, timeColumn: "time")
来减少数据数组的方法,但是在运行代码时出现错误:
SELECT "account_entity" as app_vendor_id, "balance", "source", "base_ccy" as currency
FROM "data_feeds"
|> hourSelection(start: 9, stop: 17, timeColumn: "time")
WHERE "type" = 'LPACCOUNT' and ("base_ccy" = 'BCH' OR "base_ccy"='BTC'
OR "base_ccy"='ETH' OR "base_ccy"='ETC' OR "base_ccy"='NEO' OR "base_ccy"='QTUM' OR "base_ccy"='XRP' OR "base_ccy"='DASH' OR "base_ccy"='ENJ' OR "base_ccy"='LTC' OR "base_ccy"='MCO' OR "base_ccy"='TRX' OR "base_ccy"='XMR' OR "base_ccy"='USDC' OR "base_ccy"='BSV' OR "base_ccy"='BTG' OR "base_ccy"='GAS' OR "base_ccy"='UDC')
AND ("account_entity" = 'CORP' OR "account_entity" = 'PTE')
ORDER BY "time" DESC
错误:
Traceback (most recent call last):
File "inventory_position.py", line 66, in <module>
query_res = db_client.query(query_str)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/influxdb/client.py", line 416, in query
expected_response_code=expected_response_code
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/influxdb/client.py", line 286, in request
raise InfluxDBClientError(response.content, response.status_code)
influxdb.exceptions.InfluxDBClientError: 400: {"error":"error parsing query: found |, expected ; at line 3, char 3"}
有人知道如何使用此语句选择小时吗?
编辑2:
我使用汇总并将数据过滤到每天1行,如下所示。
SELECT ("account_entity") as app_vendor_id, MEAN("balance") as balance, "source" as source, "base_ccy" as currency
FROM "data_feeds"
WHERE "type" = 'LPACCOUNT' and ("base_ccy" = 'BCH' OR "base_ccy"='BTC'
OR "base_ccy"='ETH' OR "base_ccy"='ETC' OR "base_ccy"='NEO' OR "base_ccy"='QTUM' OR "base_ccy"='XRP' OR "base_ccy"='DASH' OR "base_ccy"='ENJ' OR "base_ccy"='LTC' OR "base_ccy"='MCO' OR "base_ccy"='TRX' OR "base_ccy"='XMR' OR "base_ccy"='USDC' OR "base_ccy"='BSV' OR "base_ccy"='BTG' OR "base_ccy"='GAS' OR "base_ccy"='UDC')
AND ("account_entity" = 'CORP' OR "account_entity" = 'PTE')
GROUP BY time(1d), *
ORDER BY "time" DESC
但是,我仍然有一个错误,而且我不知道如何解决。我的意思是,当我按...分组时,它应该在传统的sql查询中工作。
influxdb.exceptions.InfluxDBClientError: mixing aggregate and non-aggregate queries is not supported
结论:
我的问题没有解决方案,因为该语言不允许使用聚合函数并按同一SELECT语句中列出的其他元素进行分组。
答案 0 :(得分:0)
“ |>”是新的Flux syntax,但是您使用的InfluxDBClient仅支持InfluxQL和Flux。
不清楚您要问什么: