如何在特定月份的特定小时之间选择数据?

时间:2019-05-16 17:01:37

标签: influxdb influxql

我已经有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不兼容“}]}

有人可以告诉我我做错了什么,还是指出正确的方向吗?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

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