文档文档

SQL 选择器函数

SQL 选择器函数旨在与时间序列数据一起使用。它们与聚合函数的行为类似,因为它们接受数据集合并返回单个值。但是,选择器的独特之处在于它们返回一个结构,该结构除了计算值之外,还包含一个时间值

选择器函数如何工作?

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

选择器结构模式

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

  • time: 所选行中的 time
  • value: 所选行中指定列的值
{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)
参数
  • expression: 要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
  • timestamp: 时间表达式。可以是常量、列或函数。

查看 selector_min 查询示例

selector_max

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

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

查看 selector_max 查询示例

selector_first

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

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

查看 selector_first 查询示例

selector_last

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

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

查看 selector_last 查询示例


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、只读副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家用或业余爱好者使用。

有关更多信息,请查看