文档说明

执行基本SQL查询

InfluxDB SQL实现由Apache Arrow DataFusion查询引擎提供支持,该引擎提供类似于其他关系查询语言的SQL语法。

查询InfluxDB数据的SQL查询通常包括以下子句

必须的
  • * SELECT: 指定从测量中选择输出字段、标签和计算,或使用通配符别名(*)从测量中选择所有字段和标签。
  • * FROM: 指定要查询数据的测量。
  • WHERE: 只返回满足指定条件的数据 - 例如,位于时间范围内、包含特定的标签值或包含在指定范围之外的字段值。
SELECT
  temp,
  hum,
  room
FROM home
WHERE
  time >= '2022-01-01T08:00:00Z'
  AND time <= '2022-01-01T20:00:00Z'

结果集

如果至少有一行满足查询条件,InfluxDB Clustered将返回查询结果集中的行数据。SQL查询结果集包括查询的SELECT语句中列出的列。

基本查询示例

示例数据

以下示例使用开始写入数据指南中编写的示例数据。在运行示例查询并返回结果之前,请将示例数据写入您的InfluxDB Clustered数据库

查询时间边界内的数据

  • 使用SELECT子句指定要返回的标签和字段。要返回所有标签和字段,请使用通配符别名(*)。
  • FROM子句中指定要查询的测量。
  • WHERE子句中指定时间边界。包括基于时间的谓词,这些谓词比较time列的值与时间戳。使用AND逻辑运算符将多个谓词链接在一起。
SELECT *
FROM home
WHERE
  time >= '2022-01-01T08:00:00Z'
  AND time <= '2022-01-01T12:00:00Z'

查询时间边界可以是相对的或绝对的。

使用相对时间边界进行查询

使用绝对时间边界进行查询

使用时区偏移量进行查询

查询无时间边界的数据

要查询没有时间边界的数据,不要在WHERE子句中包含任何基于时间的谓词。

查询没有时间边界的数据可能会返回意想不到的大量数据。查询可能需要很长时间才能完成,并且结果可能会被截断。

SELECT * FROM home

查询特定字段和标签

要查询特定字段,请在SELECT子句中包含它们。如果查询多个字段或标签,请用逗号分隔。如果字段或标签键包含特殊字符、空格或区分大小写,请用双引号包裹键。

SELECT time, room, temp, hum FROM home

根据标签值查询字段

  • SELECT子句中包含您想要查询的字段和您想要基于条件的基础的标签。
  • WHERE子句中包含比较标签标识符与字符串字面量的谓词。使用逻辑运算符将多个谓词链接起来并应用多个条件。
SELECT * FROM home WHERE room = 'Kitchen'

根据字段值查询点

  • SELECT子句中包含您想要查询的字段。
  • WHERE子句中包含比较字段标识符与值或表达式的谓词。使用逻辑运算符ANDOR)将多个谓词链接起来并应用多个条件。
SELECT co, time FROM home WHERE co >= 10 OR co <= -10

别名查询字段和标签

要别名或重命名您查询的字段和标签,请在SELECT子句中的字段或标签标识符后传递一个字符串字面量。您可以使用AS子句来定义别名,但这不是必需的。以下查询在功能上是相同的

SELECT temp 'temperature', hum 'humidity' FROM home

SELECT temp AS 'temperature', hum AS 'humidity' FROM home

这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 正在进入维护模式。您可以在不修改代码的情况下继续像现在一样使用它。

阅读更多

InfluxDB v3 增强功能和 InfluxDB 集群现已普遍可用

新功能,包括更快的查询性能和管理工具,推动了 InfluxDB v3 产品线的进步。InfluxDB 集群现已普遍可用。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面有了显著提升,并提供了新的管理工具。这些增强包括一个用于监控您的 InfluxDB 集群健康状况的操作仪表板,InfluxDB Cloud Dedicated 中的单点登录(SSO)支持,以及用于令牌和数据库的新管理 API。

了解新的 v3 增强功能


InfluxDB 集群普遍可用

InfluxDB 集群现已普遍可用,并为您在自行管理的堆栈中提供了 InfluxDB v3 的功能。

与我们就 InfluxDB 集群进行交流