mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-28 02:21:59 +00:00
66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
---
|
||
toc_priority: 106
|
||
---
|
||
|
||
# argMax {#agg-function-argmax}
|
||
|
||
Вычисляет значение `arg` при максимальном значении `val`. Если есть несколько разных значений `arg` для максимальных значений `val`, возвращает первое попавшееся из таких значений.
|
||
|
||
Если функции передан кортеж, то будет выведен кортеж с максимальным значением `val`. Удобно использовать для работы с [SimpleAggregateFunction](../../../sql-reference/data-types/simpleaggregatefunction.md).
|
||
|
||
**Синтаксис**
|
||
|
||
``` sql
|
||
argMax(arg, val)
|
||
```
|
||
|
||
или
|
||
|
||
``` sql
|
||
argMax(tuple(arg, val))
|
||
```
|
||
|
||
**Аргументы**
|
||
|
||
- `arg` — аргумент.
|
||
- `val` — значение.
|
||
|
||
**Возвращаемое значение**
|
||
|
||
- значение `arg`, соответствующее максимальному значению `val`.
|
||
|
||
Тип: соответствует типу `arg`.
|
||
|
||
Если передан кортеж:
|
||
|
||
- кортеж `(arg, val)` c максимальным значением `val` и соответствующим ему `arg`.
|
||
|
||
Тип: [Tuple](../../../sql-reference/data-types/tuple.md).
|
||
|
||
**Пример**
|
||
|
||
Исходная таблица:
|
||
|
||
``` text
|
||
┌─user─────┬─salary─┐
|
||
│ director │ 5000 │
|
||
│ manager │ 3000 │
|
||
│ worker │ 1000 │
|
||
└──────────┴────────┘
|
||
```
|
||
|
||
Запрос:
|
||
|
||
``` sql
|
||
SELECT argMax(user, salary), argMax(tuple(user, salary), salary), argMax(tuple(user, salary)) FROM salary;
|
||
```
|
||
|
||
Результат:
|
||
|
||
``` text
|
||
┌─argMax(user, salary)─┬─argMax(tuple(user, salary), salary)─┬─argMax(tuple(user, salary))─┐
|
||
│ director │ ('director',5000) │ ('director',5000) │
|
||
└──────────────────────┴─────────────────────────────────────┴─────────────────────────────┘
|
||
```
|
||
|