ARG_MAX
Calculates the arg
value for a maximum val
value. If there are several values of arg
for maximum values of val
, returns the first of these values encountered.
Syntax
ARG_MAX(arg, val)
Arguments
Arguments | Description |
---|---|
arg | Argument of any data type that Databend supports |
val | Value of any data type that Databend supports |
Return Type
arg
value that corresponds to maximum val
value.
matches arg
type.
Examples
tip
numbers(N) – A table for test with the single number
column (UInt64) that contains integers from 0 to N-1.
Input table:
SELECT sum(number) AS salary, number%3 AS user FROM numbers_mt(10000) GROUP BY user ORDER BY salary ASC;
+----------+------+
| salary | user |
+----------+------+
| 16661667 | 1 |
| 16665000 | 2 |
| 16668333 | 0 |
+----------+------+
SELECT arg_max(user, salary) FROM (SELECT sum(number) AS salary, number%3 AS user FROM numbers_mt(10000) GROUP BY user);
+-----------------------+
| arg_max(user, salary) |
+-----------------------+
| 0 |
+-----------------------+