適用対象:
Databricks SQL
Databricks Runtime
グループ内の expr1 の最大値に関連付けられている expr2 値を返します。
構文
max_by(expr1, expr2) [FILTER ( WHERE cond ) ]
この関数は、 句を使用して OVERとして呼び出すこともできます。
引数
-
expr1: 任意の型の式。 -
expr2: 順序付けできる型の式。 -
cond: 集計に使用される行をフィルター処理するブール式 (省略可能)。
戻り値
結果の型は、expr1 の型と一致します。
もしSTRINGならば。
expr2 がグループ内で一意でない場合、この関数は非決定論的です。
注
特定の STRING 照合順序 (UTF8_LCASE など) の場合、結果も非決定論的である可能性があります。
例
> SELECT max_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
b
> SELECT max_by(x, y COLLATE UTF8_LCASE) FROM VALUES (('a', 'X')), (('b', 'x')), (('c', 'v')) AS tab(x, y);
a (or b)