ClickHouse中能否用argMax获取timestamp和duration最大值对应的ID?
获取timestamp与duration均取最大值时对应的id
你可以用类似你写的查询语句实现需求,在ClickHouse中,argMax函数支持将元组作为判断最大值的依据:
SELECT name, argMax(id, (timestamp, duration)) FROM tables GROUP BY name
这个语句的逻辑是:按name分组后,每组内的记录先以timestamp降序排序,当timestamp相同时再按duration降序排序,最终取排序后第一条记录的id,也就是timestamp和duration同时取最大值对应的id。
这种元组比较是按元素顺序依次判断的,会优先保证timestamp取最大值,再在该前提下取duration的最大值。
内容的提问来源于stack exchange,提问作者Sudhakar Selvaraj
相关产品推荐
相关产品推荐

