Documentation

对列进行操作

使用以下常见查询对列进行操作:

这些示例使用NOAA水样数据

查找并计数列中的唯一值

在指定列中寻找并计算唯一值的数量。 以下示例查找并计算收集数据的唯一位置。

查找唯一值

此查询:

  • 使用 group() 取消分组数据,并返回单个表中的结果。
  • 使用 keep()unique() 返回指定列中的唯一值。
from(bucket: "noaa")
    |> range(start: -30d)
    |> group()
    |> keep(columns: ["location"])
    |> unique(column: "location")

示例结果

位置
土狼溪
圣塔莫尼卡

计数唯一值

这个查询:

  • 使用 group() 解散数据并在一个单一表格中返回结果。
  • 使用 keep()unique(),然后 count() 来计算唯一值的数量。
from(bucket: "noaa")
    |> group()
    |> unique(column: "location")
    |> count(column: "location")

示例结果

位置
2

重新计算 _values 列

要重新计算 _value 列,在 map() 中使用 with 操作符来覆盖现有的 _value 列。

以下查询:

  • 使用 filter() 来过滤 average_temperature 测量值。
  • 使用 map() 将华氏温度值转换为摄氏度。

from(bucket: "noaa")
    |> filter(fn: (r) => r._measurement == "average_temperature")
    |> range(start: -30d)
    |> map(fn: (r) => ({r with _value: (float(v: r._value) - 32.0) * 5.0 / 9.0} ))
字段测量开始结束时间位置
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:00:00Z山狗溪27.77777777777778
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:06:00Z郊狼溪22.77777777777778
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:12:00Z郊狼溪30
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:18:00Z郊狼溪31.666666666666668
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:24:00Z郊狼溪25
平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:30:00Z郊狼溪21.11111111111111
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:36:00Z郊狼溪28.88888888888889
平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:42:00Z郊狼溪24.444444444444443
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:48:00Z郊狼溪29.444444444444443
度数平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T00:54:00Z郊狼溪26.666666666666668
平均温度1920-03-05T22:10:01Z2020-03-05T22:10:01Z2019-08-17T01:00:00Z科约特溪21.11111111111111
•••••••••••••••••••••

计算一个新列

要使用行中的值进行计算并添加新列,请使用 map()。 下面的示例将华氏温度转换为摄氏温度,并将摄氏值映射到新的 celsius 列。

以下查询:

  • 使用 filter() 来过滤 average_temperature 测量值。
  • 使用 map() 创建一个新列,该列根据每一行的现有值进行计算。
from(bucket: "noaa")
    |> filter(fn: (r) => r._measurement == "average_temperature")
    |> range(start: -30d)
    |> map(fn: (r) => ({r with celsius: (r._value - 32.0) * 5.0 / 9.0}))

示例结果

_开始_结束_字段_测量位置_时间_值摄氏度
1920年3月5日22:10:01 UTC2020年3月5日22:10:01 UTC平均温度郊狼溪2019年8月17日00:00:00 UTC8227.78
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度科约特溪2019-08-17T00:06:00Z7322.78
1920-03-05T22:10:01Z2020-03-05T22:10:01Z度数平均温度郊狼溪2019-08-17T00:12:00Z8630.00
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度土狼溪2019-08-17T00:18:00Z8931.67
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度狐狸溪2019-08-17T00:24:00Z7725.00
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度郊狼溪2019-08-17T00:30:00Z7021.11
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度小狼溪2019-08-17T00:36:00Z8428.89
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度狐狸溪2019-08-17T00:42:00Z7624.44
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度郊狼溪2019-08-17T00:48:00Z8529.44
1920-03-05T22:10:01Z2020-03-05T22:10:01Z平均温度郊狼溪2019-08-17T00:54:00Z8026.67
••••••••••••••••••••••••


Flux的未来

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

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

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

有关如何开始的更多信息,请查看: