文档文档

查询首尾值

此页面记录了早期版本的 InfluxDB OSS。InfluxDB OSS v2 是最新的稳定版本。请参阅等效的 InfluxDB v2 文档: 查询首尾值

使用 first()last() 函数返回输入表中的第一个或最后一个记录。

data
  |> first()

// OR

data
  |> last()

默认情况下,InfluxDB 返回按时间排序的结果,但是您可以使用 sort() 函数 更改结果的排序方式。first()last() 遵循输入数据的排序顺序,并根据接收到的顺序返回记录。

first

first() 返回输入表中的第一个非空记录。

给定以下输入

_time_value
2020-01-01T00:01:00Z1.0
2020-01-01T00:02:00Z1.0
2020-01-01T00:03:00Z2.0
2020-01-01T00:04:00Z3.0

以下函数返回

|> first()
_time_value
2020-01-01T00:01:00Z1.0

last

last() 返回输入表中的最后一个非空记录。

给定以下输入

_time_value
2020-01-01T00:01:00Z1.0
2020-01-01T00:02:00Z1.0
2020-01-01T00:03:00Z2.0
2020-01-01T00:04:00Z3.0

以下函数返回

|> last()
_time_value
2020-01-01T00:04:00Z3.0

将 first() 或 last() 与 aggregateWindow() 一起使用

first()last()aggregateWindow() 一起使用,以选择基于时间的组中的第一个或最后一个记录。aggregateWindow() 将数据分段到时间窗口中,使用聚合或选择器函数将每个窗口中的数据聚合为单个点,然后删除基于时间的分段。

给定以下输入

_time_value
2020-01-01T00:00:00Z10
2020-01-01T00:00:15Z12
2020-01-01T00:00:45Z9
2020-01-01T00:01:05Z9
2020-01-01T00:01:10Z15
2020-01-01T00:02:30Z11

以下函数返回

|> aggregateWindow(
  every: 1h,
  fn: first
)
_time_value
2020-01-01T00:00:59Z10
2020-01-01T00:01:59Z9
2020-01-01T00:02:59Z11
|> aggregateWindow(
  every: 1h,
  fn: last
)
_time_value
2020-01-01T00:00:59Z9
2020-01-01T00:01:59Z15
2020-01-01T00:02:59Z11

此页对您有帮助吗?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版本现已公开发布 Alpha 版

InfluxDB 3 开源版本现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个作为 Alpha 版一部分的产品。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何入门的更多信息,请查看