SQL 选择器函数
InfluxDB 3 Core 处于公开 Alpha 阶段
InfluxDB 3 Core 处于公开 Alpha 阶段,可用于测试和反馈,但不适用于生产环境。产品和本文档均在不断完善中。我们欢迎并鼓励您提供关于 Alpha 体验的反馈,并邀请您加入我们的公共渠道以获取更新和分享反馈。
SQL 选择器函数旨在用于处理时间序列数据。它们的工作方式类似于聚合函数,即接收数据集合并返回单个值。但是,选择器函数的独特之处在于它们返回一个结构体,其中除了计算值之外,还包含一个 时间值。
选择器函数如何工作?
每个选择器函数都返回一个 Arrow 结构体(类似于 JSON 对象),表示每个组中指定列的单个时间和值。返回的时间和值取决于选择器函数中的逻辑。例如,selector_first
返回组中第一行指定列的值。selector_max
返回组中指定列的最大值。
选择器结构体 Schema
从选择器函数返回的结构体具有两个属性
- 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_max
返回所选列的最大值和一个时间戳。
selector_max(expression, timestamp)
参数
- expression:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
- timestamp:时间表达式。可以是常量、列或函数。
selector_first
返回按时间升序排序的第一个值。
selector_first(expression, timestamp)
参数
- expression:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
- timestamp:时间表达式。可以是常量、列或函数。
selector_last
返回按时间升序排序的最后一个值。
selector_last(expression, timestamp)
参数
- expression:要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任意组合。
- timestamp:时间表达式。可以是常量、列或函数。
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 3 Core 和本文档的反馈和 Bug 报告。如需获得支持,请使用以下资源
拥有年度合同或支持合同的客户 可以 联系 InfluxData 支持。