我已经有InfluxDB在工作,并且正在获取有关某些服务的监视数据(该值为up表示1,down表示值为0)。对于管理,我需要从数据库中选择特定月份以及夜间或白天的值。例如:我想选择2019年4月从08:00 AM到07:00 PM(白天)之间的所有数据(无论是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'
但是我有一个错误:
{“结果”:[{“ statement_id”:0,“错误”:“无效的操作:时间和 * influxql.StringLiteral不兼容“}]}
有人可以告诉我我做错了什么,还是指出正确的方向吗?
非常感谢您!
答案 0 :(得分:0)
好的,所以经过一些研究,我发现不可能在“ WHERE”子句中使用“ OR”语句来指定多个时间范围。参见this。我通过在for循环中每天发送单独的请求来解决此问题,然后连接所有结果。我承认,这不是最好的解决方案,但是由于他们说不可能,所以我猜这是解决方法。