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

Posted

技术标签:

【中文标题】如何在特定月份的特定时间之间选择数据?【英文标题】:How can I select the data between some specific hours in a specific month? 【发布时间】:2019-10-04 00:24:16 【问题描述】:

我已经让 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 不兼容"]

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

非常感谢!

【问题讨论】:

您找到解决方案了吗? 我在 2 年前遇到过这个问题,但他们仍然不支持 OR 在 WHERE 语句中,如下面的答案中所述。这是他们在文档页面上所说的:注意 InfluxDB 不支持在 WHERE 子句中使用 OR 来指定多个时间范围。 【参考方案1】:

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

【讨论】:

以上是关于如何在特定月份的特定时间之间选择数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL 中每年在特定日期范围之间排除

如何在laravel中按特定月份获取用户订单数据?

如何在不同的数据帧中选择特定时间段内的点,然后根据纬度/经度选择这两个点之间的距离

如何在两个相同的标记模式之间获取特定数据

如何按 MS Access 的特定月份汇总特定列数据并进入 vb.net 中的文本框

在 Pandas 中,如何创建特定频率但仅适用于特定月份的索引?