Flux查询语言中的SELECT <某些列>等效项是什么?

时间:2020-03-09 11:12:23

标签: influxdb influxdb-2

什么是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/

2 个答案:

答案 0 :(得分:5)

也许您需要这样的东西:

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

在“放置”(而不是...)中,您可以列出所有多余的列

答案 1 :(得分:0)

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

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