ClickHouse/docs/en/sql-reference/aggregate-functions/reference/grouparraylast.md
Azat Khuzhin b9125bb351
Introduce groupArrayLast() (useful to store last X values) (#44521)
* Cleanup DataTypeCustomSimpleAggregateFunction::checkSupportedFunctions()

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

* Remove unused GroupArrayGeneralListImpl

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

* Introduce groupArrayLast() (useful to store last X values)

Also do some refactoring to make code cleaner:
- rename insert() to insertWithSampler() (since it is used only for
  groupArraySample())
- split merge methods into Last/RNG/...

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-01-02 15:20:21 +01:00

776 B

slug sidebar_position
/en/sql-reference/aggregate-functions/reference/grouparraylast 110

groupArrayLast

Syntax: groupArrayLast(max_size)(x)

Creates an array of last argument values. For example, groupArrayLast(1)(x) is equivalent to [anyLast (x)].

In some cases, you can still rely on the order of execution. This applies to cases when SELECT comes from a subquery that uses ORDER BY.

Example

Query:

select groupArrayLast(2)(number+1) numbers from numbers(10)

Result:

┌─numbers─┐
│ [9,10]  │
└─────────┘

In compare to groupArray:

select groupArray(2)(number+1) numbers from numbers(10)
┌─numbers─┐
│ [1,2]   │
└─────────┘