2020-06-18 08:24:31 +00:00
---
toc_priority: 106
---
# argMax {#agg-function-argmax}
2021-02-05 08:14:51 +00:00
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.
2020-06-18 08:24:31 +00:00
2021-02-05 08:14:51 +00:00
Tuple version of this function will return the tuple with the maximum `val` value. It is convenient for use with [SimpleAggregateFunction ](../../../sql-reference/data-types/simpleaggregatefunction.md ).
2020-11-24 11:25:45 +00:00
2021-02-05 08:14:51 +00:00
**Syntax**
2020-11-24 11:25:45 +00:00
2021-02-05 08:14:51 +00:00
``` sql
argMax(arg, val)
```
or
``` sql
2021-02-17 14:03:09 +00:00
argMax(tuple(arg1, arg2), val)
2021-02-05 08:14:51 +00:00
```
2021-02-15 21:33:53 +00:00
**Arguments**
2021-02-05 08:14:51 +00:00
2021-02-17 14:03:09 +00:00
- `arg{i}` — Argument.
2021-02-05 08:14:51 +00:00
- `val` — Value.
**Returned value**
- `arg` value that corresponds to maximum `val` value.
Type: matches `arg` type.
For tuple in the input:
2021-02-17 14:03:09 +00:00
- Tuple `(arg1, arg2)` , where `arg1` and `arg2` are the corresponding values.
2021-02-05 08:14:51 +00:00
Type: [Tuple ](../../../sql-reference/data-types/tuple.md ).
**Example**
Input table:
2020-11-24 11:25:45 +00:00
``` text
┌─user─────┬─salary─┐
│ director │ 5000 │
│ manager │ 3000 │
│ worker │ 1000 │
└──────────┴────────┘
```
2021-02-05 08:14:51 +00:00
Query:
2020-11-24 11:25:45 +00:00
``` sql
2021-02-17 14:03:09 +00:00
SELECT argMax(user, salary), argMax(tuple(user, salary), salary) FROM salary;
2020-11-24 11:25:45 +00:00
```
2021-02-05 08:14:51 +00:00
Result:
2020-11-24 11:25:45 +00:00
``` text
2021-02-17 14:03:09 +00:00
┌─argMax(user, salary)─┬─argMax(tuple(user, salary), salary)─┐
2020-11-24 11:25:45 +00:00
│ director │ ('director',5000) │
└──────────────────────┴─────────────────────────────┘
```
2021-02-05 08:14:51 +00:00
[Original article ](https://clickhouse.tech/docs/en/sql-reference/aggregate-functions/reference/argmax/ ) <!--hide-->