SQL 选择器函数
SQL选择器函数旨在处理时间序列数据。它们的行为类似于聚合函数,因为它们接受一组数据并返回单个值。然而,选择器的独特之处在于它们返回一个结构,该结构除了计算的值之外还包含一个时间值。
选择器函数是如何工作的?
每个选择器函数返回一个 Arrow 结构(类似于 JSON 对象),表示来自每个组中指定列的单个时间和值。返回的时间和值取决于选择器函数中的逻辑。例如,selector_first
返回组中第一行指定列的值。selector_max
返回组中指定列的最大值。
选择器结构模式
从选择器函数返回的结构有两个属性:
- 时间:
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(expression, timestamp)
参数
- expression: 要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任何组合。
- timestamp: 时间表示法。 可以是常量、列或函数。
选择器最大值
返回所选列的最大值和时间戳。
selector_max(expression, timestamp)
参数
- expression: 要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任何组合。
- timestamp: 时间表示法。 可以是常量、列或函数。
选择器_第一
返回按照时间升序排列的第一个值。
selector_first(expression, timestamp)
参数
- expression: 要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任何组合。
- timestamp: 时间表示法。 可以是常量、列或函数。
选择器_last
返回按时间升序排列的最后一个值。
selector_last(expression, timestamp)
参数
- expression: 要操作的表达式。可以是常量、列或函数,以及字符串或算术运算符的任何组合。
- timestamp: 时间表示法。 可以是常量、列或函数。