适用于: 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)