9

什么是等效通量查询SELECT address, name FROM addresses?(我指的是 InfluxData 开发的新型查询语言 FluxQL)

在有限的 Flux 文档中,我没有找到明确的答案。Flux 文档说filter()function 等同于SELECTandWHERE子句,但是给出的所有示例都等同于WHERE子句,在SELECT.

这些是 FluxQL 的文档以便更好地参考:

https://docs.influxdata.com/flux/v0.50/introduction/getting-started

https://v2.docs.influxdata.com/v2.0/query-data/get-started/

4

3 回答 3

6

也许你需要这样的东西:

filter(fn: (r) => r._measurement == "addresses" and (r._field == "address" or r._field == "name"))
|> pivot(rowKey:["_time"], columnKey:["_field"], valueColumn:"_value")
|> drop(columns:["_value", ...])

在“drop”(而不是...)中,您可以列出所有超额列

于 2020-03-10T09:44:00.310 回答
1

您也可以尝试使用 keep(colums...) 功能。与 drop 不同,它将列的名称作为参数保留,并删除其余部分。 https://docs.influxdata.com/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/keep/

于 2021-09-03T13:39:21.700 回答
0

您可以使用 map() 函数来选择要保留的列,也可以进行一些字符串操作:

(from and filter part...)
|> map(fn: (r) => ({
                     address: r.address,
                     name: r.name
                   }))
于 2020-04-29T06:44:22.430 回答