Partilhar via


max_by função agregar

Aplica-se a:Marque Sim Databricks SQL Marque Sim 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)