Timescale Cloud:性能、扩展、企业级

自托管产品

MST

first 聚合函数允许您根据另一列的排序获取某一列的值。例如,first(temperature, time) 返回聚合组内按时间排序的最早温度值。

重要提示

lastfirst 命令不使用索引,它们通过组执行顺序扫描。它们主要用于 GROUP BY 聚合中的有序选择,而不是作为 ORDER BY time DESC LIMIT 1 子句的替代方案来查找最新值,因为后者使用索引。

名称类型描述
valueTEXT要返回的值
timeTIMESTAMP 或 INTEGER用于比较的时间戳

按 device_id 获取最早温度

SELECT device_id, first(temp, time)
FROM metrics
GROUP BY device_id;

本示例使用 first 和 last 配合聚合过滤器,并避免输出中出现空值。

SELECT
TIME_BUCKET('5 MIN', time_column) AS interv,
AVG(temperature) as avg_temp,
first(temperature,time_column) FILTER(WHERE time_column IS NOT NULL) AS beg_temp,
last(temperature,time_column) FILTER(WHERE time_column IS NOT NULL) AS end_temp
FROM sensors
GROUP BY interv

关键词

本页面有问题?报告问题 或 在 GitHub 上编辑此页面 在 GitHub。