Работа с массивом float в clickhouse

Как в Clickhouse сгенерировать массив значений типа Float32 с заданными началом, концом и шагом, подобно тому, как это делает функция range() для целых чисел?


Ответы (1 шт):

Автор решения: vladimir

Можно попробовать сделать это так:

WITH
    0.3 AS start,
    0.4 AS step,
    5 AS iterations,
    arrayWithConstant(iterations, 0) AS zeroArray,
    arrayCumSum((x, index) -> if(index = 1, start, step), zeroArray, arrayEnumerate(zeroArray)) AS range
SELECT range

/*
┌─range─────────────────┐
│ [0.3,0.7,1.1,1.5,1.9] │
└───────────────────────┘
*/
→ Ссылка