first
聚合函数允许您获取按另一列排序的某一列的值。例如,first(temperature, time)
返回聚合组内基于时间的最早温度值。
重要提示
last
和 first
命令不使用索引,它们对组执行顺序扫描。它们主要用于 GROUP BY
聚合中的有序选择,而不是作为 ORDER BY time DESC LIMIT 1
子句的替代方案来查找最新值,后者使用索引。
名称 | 类型 | 描述 |
---|---|---|
value | TEXT | 要返回的值 |
time | TIMESTAMP 或 INTEGER | 用于比较的时间戳 |
按 device_id 获取最早的温度
SELECT device_id, first(temp, time)FROM metricsGROUP BY device_id;
此示例将 first 和 last 与聚合过滤器一起使用,并避免输出中的空值
SELECTTIME_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_tempFROM sensorsGROUP BY interv
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页。