> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Ordena las series temporales por marca temporal de forma ascendente.

# timeSeriesGroupArray

## timeSeriesGroupArray

Introducido en: v25.8.0

Ordena los datos de series temporales por marca temporal en orden ascendente.

Las muestras pueden pasarse en una de estas tres formas:

* como dos argumentos `timestamp` y `value`, donde cada fila contiene una sola muestra;
* como dos arrays de marcas temporales y valores, donde cada fila contiene una serie temporal completa;
* como un único array de tuplas `(timestamp, value)`, donde cada fila contiene una serie temporal completa. Esta forma tiene el mismo tipo que el resultado, lo que permite utilizar la función en el tipo de datos `SimpleAggregateFunction`.

Si varias muestras tienen la misma marca temporal, solo se utiliza una de ellas: la muestra con el mayor valor. Un valor NaN pierde frente a cualquier otro valor, por lo que solo se utiliza un valor NaN si todas las muestras con esta marca temporal son NaN.

<Note>
  Esta función está en private preview; actívela estableciendo `enable_time_series_aggregate_functions=true`.
</Note>

**Sintaxis**

```sql theme={null}
timeSeriesGroupArray(timestamp, value)
timeSeriesGroupArray(samples)
```

**Argumentos**

* `timestamp` — Marca temporal de la muestra. Puede ser un valor individual o un array. [`UInt32`](/es/reference/data-types/int-uint) o [`DateTime`](/es/reference/data-types/datetime) o [`DateTime64`](/es/reference/data-types/datetime64) o [`Array(UInt32)`](/es/reference/data-types/array) o [`Array(DateTime)`](/es/reference/data-types/array) o [`Array(DateTime64)`](/es/reference/data-types/array)
* `value` — Valor de la serie temporal correspondiente a la marca temporal. Puede ser un valor individual o un array. [`Float*`](/es/reference/data-types/float) o [`Array(Float*)`](/es/reference/data-types/array)
* `samples` — Muestras de la serie temporal pasadas como un array de tuplas `(timestamp, value)`, donde los elementos de la tupla tienen los tipos de marca temporal y valor indicados anteriormente. [`Array(Tuple(T1, T2))`](/es/reference/data-types/array)

**Valor devuelto**

Devuelve un array de tuplas `(timestamp, value)` ordenado por marca temporal en orden ascendente. [`Array(Tuple(T1, T2))`](/es/reference/data-types/array)

**Ejemplos**

**Uso básico con valores individuales**

```sql title=Query theme={null}
SET enable_time_series_aggregate_functions = 1;
WITH
    [110, 120, 130, 140, 140, 100]::Array(UInt32) AS timestamps,
    [1, 6, 8, 17, 19, 5]::Array(Float32) AS values
SELECT timeSeriesGroupArray(timestamp, value)
FROM
(
    SELECT
        arrayJoin(arrayZip(timestamps, values)) AS ts_and_val,
        ts_and_val.1 AS timestamp,
        ts_and_val.2 AS value
);
```

```response title=Response theme={null}
┌─timeSeriesGroupArray(timestamp, value)─────┐
│ [(100,5),(110,1),(120,6),(130,8),(140,19)] │
└────────────────────────────────────────────┘
```

**Pasar varias muestras de marcas temporales y valores como arrays del mismo tamaño**

```sql title=Query theme={null}
SET enable_time_series_aggregate_functions = 1;
WITH
    [110, 120, 130, 140, 140, 100]::Array(UInt32) AS timestamps,
    [1, 6, 8, 17, 19, 5]::Array(Float32) AS values
SELECT timeSeriesGroupArray(timestamps, values);
```

```response title=Response theme={null}
┌─timeSeriesGroupArray(timestamps, values)───┐
│ [(100,5),(110,1),(120,6),(130,8),(140,19)] │
└────────────────────────────────────────────┘
```
