LINUX.ORG.RU

ClickHouse: выбрать колонку, упорядоченную по времени, но получить в строке сумму ближайших 10 строк.

 


0

1

Есть такая таблица, например:

CREATE TABLE IF NOT EXISTS c2.CPA_DONT_CREATE_ME_PLEASE
(
    date Date,
    source_id UInt32,
    datetime DateTime,
    column UInt32
) ENGINE = MergeTree(date, (date, source_id));

Данные пишутся с временным «разрешением», например, минута. Т.е. datetime = «2017-07-05 15:12:00», например.

И вот я выбираю колонку, отсортированную по времени:

SELECT column FROM table ORDER BY datetime;

Хочется то же самое, только чтобы оно вернуло в каждой строке не оригинальную строку, а среднее значение column последовательных 10 строк. Размер выходных данных сократится в 10 раз, соответственно.

Как?

Параллельный вопрос в гуглогруппе: https://groups.google.com/forum/#!topic/clickhouse/qZazrZsklKQ



Последнее исправление: hlamotron (всего исправлений: 1)

Хз что у тебя в source_id. Так не пойдет? select avg(column) from (select (source_id/10) idfor10, column from table) group by idfor10

ilovewindows ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.