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)