ClickHouse 窗口分析 argMax() / argMin()

argMin() 是 ClickHouse 中一个非常有用的聚合函数,它可以找出某个列的最小值,并返回该最小值对应的另一个列的值

函数语法

argMin(arg, val)

  • arg:要返回的列(当找到最小值时返回该列的值)

  • val:用于比较的列(函数会找出该列的最小值)

场景

找出销售额最低的产品名称:

分组查询

找出日期最大的金额

  1. 如果有多个相同的极小值,argMin() 会返回其中任意一个对应的arg值

  2. 对于NULL值的处理需要特别注意,可能需要使用ifNull()coalesce()函数

  3. 在分布式查询中,argMin() 的行为可能与单机查询略有不同

argMin() 的反向函数是 argMax(),用法相同,只是查找的是最大值对应的arg值