文档文档

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 开源版本现已公开发布 Alpha 版

InfluxDB 3 开源版本现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 Alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。 它是用于时间序列和事件数据的最新数据引擎。 InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看