max_by
função agregar
Aplica-se a: Databricks SQL Databricks Runtime
Devolve o valor de um expr1
associado com o valor máximo de expr2
num grupo.
Sintaxe
max_by(expr1, expr2) [FILTER ( WHERE cond ) ]
Esta função também pode ser invocada como uma função de janela usando a OVER
cláusula.
Argumentos
-
expr1
: Uma expressão de qualquer tipo. -
expr2
: Uma expressão de um tipo que pode ser encomendada. -
cond
: Uma expressão booleana opcional filtrando as linhas usadas para agregação.
Devoluções
O tipo de resultado corresponde ao tipo de expr1
.
Se STRING
.
Esta função não é determinística se expr2
não for única dentro do grupo.
Observação
Para certos STRING
agrupamentos, como UTF8_LCASE
, o resultado também pode ser não-determinístico.
Exemplos
> 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)