Flux 查询语言中的 SELECT <certain columns> 是什么?

What is the equivalent of SELECT <certain columns> in Flux Query Language?

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

我在有限的 Flux 文档中没有找到明确的答案。 Flux 文档说 filter() 函数等同于 SELECTWHERE 子句,但所有给出的示例都等同于 WHERE 子句,SELECT 没有任何内容。

为了更好地参考,这些是 FluxQL 的文档:

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

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

也许你需要这样的东西:

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"(而不是...)中,您可以列出所有超出的列

您可以使用 map() 函数 select 保留哪一列,并可能进行一些字符串操作:

(from and filter part...)
|> map(fn: (r) => ({
                     address: r.address,
                     name: r.name
                   }))

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