argMax 

Calculates the arg value for a maximum val value. If there are several different values of arg for maximum values of val, returns the first of these values encountered.

Tuple version of this function will return the tuple with the maximum val value. It is convenient for use with SimpleAggregateFunction.

Syntax

argMax(arg, val)

or

argMax(tuple(arg, val))

Arguments

  • arg — Argument.
  • val — Value.

Returned value

  • arg value that corresponds to maximum val value.

Type: matches arg type.

For tuple in the input:

  • Tuple (arg, val), where val is the maximum value and arg is a corresponding value.

Type: Tuple.

Example

Input table:

┌─user─────┬─salary─┐
│ director │   5000 │
│ manager  │   3000 │
│ worker   │   1000 │
└──────────┴────────┘

Query:

SELECT argMax(user, salary), argMax(tuple(user, salary), salary), argMax(tuple(user, salary)) FROM salary;

Result:

┌─argMax(user, salary)─┬─argMax(tuple(user, salary), salary)─┬─argMax(tuple(user, salary))─┐
│ director             │ ('director',5000)                   │ ('director',5000)           │
└──────────────────────┴─────────────────────────────────────┴─────────────────────────────┘

Original article

Rating: 2.2 - 61 votes

Was this content helpful?
★★☆☆☆