1

我已经让 InfluxDB 工作并获取有关某些服务的监控数据(值仅为 1 表示启动,0 表示关闭)。对于管理,我需要从数据库中选择特定月份以及夜间或白天的值。例如:我想选择 2019 年 4 月 08:00AM 到 07:00PM(白天)之间的所有数据(无论是 1 还是 0)

这是我尝试过的:

SELECT value FROM probe_success 
WHERE "instance" = 'https://myservice/api' AND time >= '08:00:00' AND time < '19:00:00' 
AND time >= '2019-04-01' AND time <= '2019-04-30'

但我有一个错误:

{"results":[{"statement_id":0,"error":"无效操作:时间和 *influxql.StringLiteral 不兼容"}]}

谁能告诉我我做错了什么或指出我正确的方向?

非常感谢!

4

1 回答 1

2

好的,所以经过一些研究,我发现不可能在“WHERE”子句中使用“OR”语句来指定多个时间范围。看到这个。我通过在 for 循环中每天发送单独的请求然后连接所有结果来解决这个问题。我承认,这不是最好的解决方案,但是由于他们说不可能,我想这是解决方法。

于 2019-05-27T07:10:09.643 回答