美文网首页
clickhouse分组后对max()值相同的记录做二次合并

clickhouse分组后对max()值相同的记录做二次合并

作者: 清蒸三文鱼_ | 来源:发表于2024-06-02 12:10 被阅读0次

    背景

    想用一条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;
    

    相关文章

      网友评论

          本文标题:clickhouse分组后对max()值相同的记录做二次合并

          本文链接:https://www.haomeiwen.com/subject/fvcsqjtx.html