背景
想用一条sql来查询某个设备指标的最新时间点的值, 但是最新时间点的值会有多条, 即在2024-06-01 10:00:00
会存在多条不同value值的记录, 需要进行合并为数据, 原本以为argMax(value,clock)可以满足条件, 但是clickhouse不支持聚合函数多重聚合, 所以选用了下面的方式
SELECT cmdbId, metricCode, groupArray(value) as aggValue
FROM metric_2d
WHERE (cmdbId, metricCode, clock) IN (
SELECT cmdbId, metricCode, max(clock)
FROM metric_2d
GROUP BY cmdbId, metricCode
)
GROUP BY cmdbId, metricCode;
网友评论