Udostępnij za pośrednictwem


max_by funkcja agregacji

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zwraca wartość skojarzonej expr1 z maksymalną wartością expr2 w grupie.

Składnia

max_by(expr1, expr2) [FILTER ( WHERE cond ) ]

Tę funkcję można również wywołać jako funkcję okna przy użyciu klauzuli OVER .

Argumenty

  • expr1: wyrażenie dowolnego typu.
  • expr2: wyrażenie typu, który można zamówić.
  • cond: opcjonalne wyrażenie logiczne filtrujące wiersze używane do agregacji.

Zwraca

Typ wyniku jest zgodny z typem .expr1

Jeśli STRING.

Ta funkcja nie jest deterministyczna, jeśli expr2 nie jest unikatowa w grupie.

Notatka

W przypadku niektórych porządków STRING, takich jak UTF8_LCASE, wynik może również być niedeterministyczny.

Przykłady

> 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)