2020-06-18 08:24:31 +00:00
---
2022-08-28 14:53:34 +00:00
slug: /en/sql-reference/aggregate-functions/reference/topkweighted
2024-06-24 11:52:30 +00:00
sidebar_position: 203
2020-06-18 08:24:31 +00:00
---
2022-06-02 10:55:18 +00:00
# topKWeighted
2020-06-18 08:24:31 +00:00
2021-06-10 11:34:36 +00:00
Returns an array of the approximately most frequent values in the specified column. The resulting array is sorted in descending order of approximate frequency of values (not by the values themselves). Additionally, the weight of the value is taken into account.
2020-06-18 08:24:31 +00:00
**Syntax**
``` sql
2024-01-13 23:19:04 +00:00
topKWeighted(N)(column, weight)
topKWeighted(N, load_factor)(column, weight)
topKWeighted(N, load_factor, 'counts')(column, weight)
2020-06-18 08:24:31 +00:00
```
2024-01-13 23:19:04 +00:00
**Parameters**
- `N` — The number of elements to return. Optional. Default value: 10.
- `load_factor` — Defines, how many cells reserved for values. If uniq(column) > N * load_factor, result of topK function will be approximate. Optional. Default value: 3.
- `counts` — Defines, should result contain approximate count and error value.
2021-02-15 21:33:53 +00:00
**Arguments**
2020-06-18 08:24:31 +00:00
2024-01-13 23:19:04 +00:00
- `column` — The value.
2023-04-19 15:55:29 +00:00
- `weight` — The weight. Every value is accounted `weight` times for frequency calculation. [UInt64 ](../../../sql-reference/data-types/int-uint.md ).
2020-06-18 08:24:31 +00:00
**Returned value**
Returns an array of the values with maximum approximate sum of weights.
**Example**
Query:
``` sql
2023-01-27 23:20:15 +00:00
SELECT topKWeighted(2)(k, w) FROM
VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10))
2020-06-18 08:24:31 +00:00
```
Result:
``` text
2023-01-27 23:20:15 +00:00
┌─topKWeighted(2)(k, w)──┐
│ ['z','x'] │
└────────────────────────┘
2020-06-18 08:24:31 +00:00
```
2021-06-09 21:13:31 +00:00
2024-01-13 23:19:04 +00:00
Query:
``` sql
SELECT topKWeighted(2, 10, 'counts')(k, w)
FROM VALUES('k Char, w UInt64', ('y', 1), ('y', 1), ('x', 5), ('y', 1), ('z', 10))
```
Result:
``` text
┌─topKWeighted(2, 10, 'counts')(k, w)─┐
│ [('z',10,0),('x',5,0)] │
└─────────────────────────────────────┘
```
2021-06-09 21:13:31 +00:00
**See Also**
2023-04-19 15:55:29 +00:00
- [topK ](../../../sql-reference/aggregate-functions/reference/topk.md )
2024-01-13 23:19:04 +00:00
- [approx_top_k ](../../../sql-reference/aggregate-functions/reference/approxtopk.md )
- [approx_top_sum ](../../../sql-reference/aggregate-functions/reference/approxtopsum.md )