mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 21:03:51 +00:00
c1b71ab06e
* CLICKHOUSEDOCS-733: Fixed some broken links. Updated introduction and TOC in aggregate functions. * CLICKHOUSEDOCS-733: Fixed files endings. * CLICKHOUSEDOCS-733: Returned the list of functions back to reference index. Co-authored-by: Sergei Shtykov <bayonet@yandex-team.ru> Co-authored-by: emironyuk <em@don.ru>
60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
---
|
||
toc_priority: 170
|
||
---
|
||
|
||
# timeSeriesGroupSum {#agg-function-timeseriesgroupsum}
|
||
|
||
Синтаксис: `timeSeriesGroupSum(uid, timestamp, value)`
|
||
|
||
`timeSeriesGroupSum` агрегирует временные ряды в которых не совпадают моменты.
|
||
Функция использует линейную интерполяцию между двумя значениями времени, а затем суммирует значения для одного и того же момента (как измеренные так и интерполированные) по всем рядам.
|
||
|
||
- `uid` уникальный идентификатор временного ряда, `UInt64`.
|
||
- `timestamp` имеет тип `Int64` чтобы можно было учитывать милли и микросекунды.
|
||
- `value` представляет собой значение метрики.
|
||
|
||
Функция возвращает массив кортежей с парами `(timestamp, aggregated_value)`.
|
||
|
||
Временные ряды должны быть отсортированы по возрастанию `timestamp`.
|
||
|
||
Пример:
|
||
|
||
``` text
|
||
┌─uid─┬─timestamp─┬─value─┐
|
||
│ 1 │ 2 │ 0.2 │
|
||
│ 1 │ 7 │ 0.7 │
|
||
│ 1 │ 12 │ 1.2 │
|
||
│ 1 │ 17 │ 1.7 │
|
||
│ 1 │ 25 │ 2.5 │
|
||
│ 2 │ 3 │ 0.6 │
|
||
│ 2 │ 8 │ 1.6 │
|
||
│ 2 │ 12 │ 2.4 │
|
||
│ 2 │ 18 │ 3.6 │
|
||
│ 2 │ 24 │ 4.8 │
|
||
└─────┴───────────┴───────┘
|
||
```
|
||
|
||
``` sql
|
||
CREATE TABLE time_series(
|
||
uid UInt64,
|
||
timestamp Int64,
|
||
value Float64
|
||
) ENGINE = Memory;
|
||
INSERT INTO time_series VALUES
|
||
(1,2,0.2),(1,7,0.7),(1,12,1.2),(1,17,1.7),(1,25,2.5),
|
||
(2,3,0.6),(2,8,1.6),(2,12,2.4),(2,18,3.6),(2,24,4.8);
|
||
|
||
SELECT timeSeriesGroupSum(uid, timestamp, value)
|
||
FROM (
|
||
SELECT * FROM time_series order by timestamp ASC
|
||
);
|
||
```
|
||
|
||
И результат будет:
|
||
|
||
``` text
|
||
[(2,0.2),(3,0.9),(7,2.1),(8,2.4),(12,3.6),(17,5.1),(18,5.4),(24,7.2),(25,2.5)]
|
||
```
|
||
|
||
[Оригинальная статья](https://clickhouse.tech/docs/en/sql-reference/aggregate-functions/reference/timeseriesgroupsum/) <!--hide-->
|