timeSeriesGroupArray
Introducido en: v25.8.0
Ordena los datos de series temporales por marca temporal en orden ascendente.
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.
Sintaxis
timeSeriesGroupArray(timestamp, value)Argumentos
timestamp— Marca temporal de la muestra.DateTimeoUInt32oUInt64value— Valor de la serie temporal correspondiente a la marca temporal.(U)Int*oFloat*oDecimal
Valor devuelto
Devuelve un array de tuplas (timestamp, value) ordenado por marca temporal en orden ascendente. Array(Tuple(T1, T2))
Ejemplos
Uso básico con valores individuales
SET allow_experimental_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
);┌─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
SET allow_experimental_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);┌─timeSeriesGroupArray(timestamps, values)───┐
│ [(100,5),(110,1),(120,6),(130,8),(140,19)] │
└────────────────────────────────────────────┘