min_by 聚合函数

适用于:选中标记为“是” Databricks SQL 选中标记为“是” Databricks Runtime

返回与组中 expr1 的最小值关联的 expr2 的值。

语法

min_by(expr1, expr2) [FILTER ( WHERE cond ) ]

也可以使用子句将此函数作为窗口函数OVER调用。

参数

  • expr1:任何类型的表达式。
  • expr2:可以排序的某个类型的表达式。
  • cond:一个可选的布尔表达式,可筛选用于聚合的行。

返回

结果类型与 expr1 的类型匹配。

如果 expr2 在组内不唯一,则该函数为非确定性函数。

备注

对于某些 STRING 排序规则,例如 UTF8_LCASE,结果也可能是不确定性的。

示例

> SELECT min_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
 a

> SELECT min_by(x, y COLLATE UTF8_LCASE) FROM VALUES (('a', 'X')), (('b', 'x')), (('c', 'Z')) AS tab(x, y);
 a (or b)