InfluxDB - 基于标签在 where 子句中包含多个值

Nir*_*mal 7 influxdb

我正在尝试根据标签值查询数据。是否可以在 where 子句中包含多个查询。我在 SQL 中找不到类似于 IN 运算符的运算符。

select * from students where rollNumber='1' limit 10

student 是测量值,rollNumber 是一个标签。我想在查询中包含多个 rollNumber 值。

有什么建议可以解决问题吗?

Win*_*lds 7

InfluxDB 没有 IN 运算符,但它支持在 WHERE 子句中用于字段和标签的 Go-lang 正则表达式。正则表达式用比较运算符括起来/并需要~在比较运算符后添加:

select * from students where rollNumber =~ /1|2|3/ limit 10
Run Code Online (Sandbox Code Playgroud)

这将使 10 名学生返回 rollNumber1 或 2 或 3。

注意:在过滤字段的情况下,如果字段类型不是字符串,正则表达式将不起作用...

  • @Nirmal 当正则表达式很长时很慢...最好用“OR”来完成,例如“rollNumber=1 OR rollNumber=2 OR rollNumber=3” (4认同)