Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

timeSeriesGroupArray

timeSeriesGroupArray

Introduzido em: v25.8.0

Ordena os dados de séries temporais por timestamp em ordem crescente.

Se várias amostras tiverem o mesmo timestamp, apenas uma delas será usada: a amostra com o maior valor. Um valor NaN perde para qualquer outro valor, portanto um valor NaN será usado apenas se todas as amostras nesse timestamp forem NaN.

Sintaxe

timeSeriesGroupArray(timestamp, value)

Argumentos

Valor retornado

Retorna um array de tuplas (timestamp, value) ordenado por timestamp em ordem crescente. Array(Tuple(T1, T2))

Exemplos

Uso básico com valores individuais

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)] │
└────────────────────────────────────────────┘

Enviando várias amostras de timestamps e valores como arrays do mesmo tamanho

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)] │
└────────────────────────────────────────────┘
Navigation