ClickHouse/docs/en/sql-reference/aggregate-functions/reference/argmin.md

67 lines
1.6 KiB
Markdown
Raw Normal View History

---
toc_priority: 105
---
# argMin {#agg-function-argmin}
2021-02-06 10:23:57 +00:00
Calculates the `arg` value for a minimum `val` value. If there are several different values of `arg` for minimum values of `val`, returns the first of these values encountered.
2021-02-06 10:23:57 +00:00
Tuple version of this function will return the tuple with the minimum `val` value. It is convenient for use with [SimpleAggregateFunction](../../../sql-reference/data-types/simpleaggregatefunction.md).
2021-02-05 08:14:51 +00:00
**Syntax**
2021-02-05 08:14:51 +00:00
``` sql
argMin(arg, val)
```
or
``` sql
argMin(tuple(arg, val))
```
**Parameters**
- `arg` — Argument.
- `val` — Value.
**Returned value**
2021-02-06 10:23:57 +00:00
- `arg` value that corresponds to minimum `val` value.
2021-02-05 08:14:51 +00:00
Type: matches `arg` type.
For tuple in the input:
2021-02-08 15:20:34 +00:00
- Tuple `(arg, val)`, where `val` is the minimum value and `arg` is a corresponding value.
2021-02-05 08:14:51 +00:00
Type: [Tuple](../../../sql-reference/data-types/tuple.md).
**Example**
Input table:
``` text
┌─user─────┬─salary─┐
│ director │ 5000 │
│ manager │ 3000 │
│ worker │ 1000 │
└──────────┴────────┘
```
2021-02-05 08:14:51 +00:00
Query:
``` sql
2021-02-05 08:14:51 +00:00
SELECT argMin(user, salary), argMin(tuple(user, salary)) FROM salary;
```
2021-02-05 08:14:51 +00:00
Result:
``` text
┌─argMin(user, salary)─┬─argMin(tuple(user, salary))─┐
│ worker │ ('worker',1000) │
└──────────────────────┴─────────────────────────────┘
```
2021-02-05 08:14:51 +00:00
[Original article](https://clickhouse.tech/docs/en/sql-reference/aggregate-functions/reference/argmin/) <!--hide-->