文档文档

从特定小时选择数据

问题

您可能希望从一天中的特定小时选择数据。例如,您可能只想获取正常工作时间(上午 9 点 - 下午 5 点)内的数据。

解决方案 1

使用 hourSelection() 按每天的特定小时范围过滤数据。

import "date"

from(bucket: "example-bucket")
    |> range(start: -7d)
    |> filter(fn: (r) => r["_measurement"] == "example-measurement")
    |> filter(fn: (r) => r["_field"] == "example-field")
    |> hourSelection(start: 9, stop: 17)

解决方案 2

使用 date.hour()filter() 谓词中评估小时。

import "date"

from(bucket: "example-bucket")
    |> range(start: -7d)
    |> filter(fn: (r) => r["_measurement"] == "example-measurement")
    |> filter(fn: (r) => r["_field"] == "example-field")
    |> filter(fn: (r) => date.hour(t: r["_time"]) > 9 and date.hour(t: r["_time"]) < 17)

This solution also applies if you to select data from certain seconds in a minute, minutes in an hour, days in the month, months in the year, etc. Use the [Flux `date` package](/flux/v0.x/stdlib/date/) to assign integer representations to your data and filter for your desired schedule. 

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像目前一样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最近数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看