timeSeriesGroupArray
지원 시작 버전: v25.8.0
타임스탬프 기준으로 시계열 데이터를 오름차순으로 정렬합니다.
여러 샘플의 타임스탬프가 같으면 가장 큰 값을 가진 샘플 하나만 사용됩니다. NaN 값은 다른 모든 값보다 우선순위가 낮으므로, 해당 타임스탬프의 모든 샘플이 NaN인 경우에만 NaN 값이 사용됩니다.
구문
timeSeriesGroupArray(timestamp, value)인수
timestamp— 샘플의 타임스탬프입니다.DateTime또는UInt32또는UInt64value— 해당 타임스탬프에 대응하는 시계열 값입니다.(U)Int*또는Float*또는Decimal
반환 값
타임스탬프 기준 오름차순으로 정렬된 튜플 배열 (timestamp, value)을 반환합니다. Array(Tuple(T1, T2))
예시
개별 값을 사용한 기본 사용법
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)] │
└────────────────────────────────────────────┘동일한 크기의 배열로 여러 개의 타임스탬프와 값을 전달하기
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)] │
└────────────────────────────────────────────┘