по бумаге в виде "свечей"? Т.е. разбить заданный интервал на одинаковые кусочки, для каждого кусочка выбрать первое значение, минимальное, максимальное, последнее.
В общем случае запрос вот такой:
SELECT t1.price AS open, m.high, m.low, t2.price as close, open_time FROM (SELECT MIN(timeInMilliseconds) AS min_time, MAX(timeInMilliseconds) AS max_time, MIN(price) as low, MAX(price) as high, FLOOR(timeInMilliseconds/(1000*60)) as open_time FROM ticks GROUP BY open_time) m JOIN ticks t1 ON t1.timeInMilliseconds = min_time JOIN ticks t2 ON t2.timeInMilliseconds = max_time
Но для ClickHouse это вряд ли хороший вариант.
а кусочки заранее известной длинны?
Да, одинаковой длины
Обсуждают сегодня