Introducido en: v25.8.0
Ordena los datos de series temporales por marca temporal en orden ascendente.
Esta función es experimental; actívela estableciendo allow_experimental_ts_to_grid_aggregate_function=true.
Sintaxis
timeSeriesGroupArray(timestamp, value)
Argumentos
Valor devuelto
Devuelve un array de tuplas (timestamp, value) ordenado por marca temporal en orden ascendente. Si hay varios valores para la misma marca temporal, la función elige el mayor de ellos. Array(Tuple(T1, T2))
Ejemplos
Uso básico con valores individuales
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
);
┌─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
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);
┌─timeSeriesGroupArray(timestamps, values)──────────────┐
│ [(100, 5), (110, 1), (120, 6), (130, 8), (140, 19)] │
└───────────────────────────────────────────────────────┘