文档

SQL 选择器函数

SQL 选择器函数旨在与时间序列数据一起使用。它们的行为类似于聚合函数,即它们接收一组数据并返回一个单一值。然而,选择器独特之处在于,它们返回一个包含 时间值结构体,除了计算值之外。

选择器函数如何工作?

每个选择器函数返回一个 Arrow 结构体(类似于 JSON 对象),表示从每个组中指定列的单个时间和值。返回的时间和值取决于选择器函数中的逻辑。例如,selector_first 返回组中第一行的指定列的值。selector_max 返回组中指定列的最大值。

选择器结构体模式

选择器函数返回的结构体有两个属性

  • 时间:所选行的 时间
  • :所选行中指定列的值
{time: 2023-01-01T00:00:00Z, value: 72.1}

正在使用的选择器函数

在您的 SELECT 语句中,执行一个选择器函数,并使用方括号表示法引用 返回的结构体 的属性以填充列值

SELECT
  selector_first(temp, time)['time'] AS time,
  selector_first(temp, time)['value'] AS temp,
  room
FROM home
GROUP BY room

选择器函数

selector_min

返回所选列的最小值和时间戳。

selector_min(expression, timestamp)
参数
  • 表达式:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
  • 时间戳:时间表达式。可以是常量、列或函数。

查看 selector_min 查询示例

selector_max

返回所选列和时间戳的最大值。

selector_max(expression, timestamp)
参数
  • 表达式:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
  • 时间戳:时间表达式。可以是常量、列或函数。

查看 selector_max 查询示例

selector_first

返回按时间升序排序的第一个值。

selector_first(expression, timestamp)
参数
  • 表达式:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
  • 时间戳:时间表达式。可以是常量、列或函数。

查看 selector_first 查询示例

selector_last

返回按时间升序排序的最后一个值。

selector_last(expression, timestamp)
参数
  • 表达式:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
  • 时间戳:时间表达式。可以是常量、列或函数。

查看 selector_last 查询示例


这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 将进入维护模式。您可以继续像现在一样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB v3 增强功能和 InfluxDB Clustered 现已上市

新功能包括更快的查询性能和管理工具,推进了 InfluxDB v3 产品线。InfluxDB Clustered 现已上市。

InfluxDB v3 性能和功能

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

了解新的 v3 增强功能


InfluxDB Clustered 上市

InfluxDB Clustered 现已上市,并为您提供了在自管理堆栈中 InfluxDB v3 的功能。

与我们谈谈 InfluxDB Clustered