文档文档

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 查询示例


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2