groupArray знаю. Но она пропускает NULL и дает массив [1,2]
Что то похожее можно добиться с использованием tuple: SELECT groupArray(tuple(v)) FROM ( SELECT 1 AS v UNION ALL SELECT NULL AS v UNION ALL SELECT 2 AS v ) Результат похож, но это массив tuple: [(1),(NULL),(2)] Как только я пытаюсь получить 1й элемент tuple: SELECT groupArray(tuple(v)).1 FROM ( SELECT 1 AS v UNION ALL SELECT NULL AS v UNION ALL SELECT 2 AS v ) NULL немедленно заменяется на 0: [1,0,2] Помогите, пожалуйста! Весь мозг уже сломал...
А почему так принципиально видеть null?
По бизнесу там может быть и 0 и отрицательное значение. Поэтому хотелось бы не заморачиваться со спец.значениями заменяющими NULL
у меня 23.1.2.9
Спасибо! Похоже надо апгрейдится...
в вашей версии тоже NULL возвращает, смотрите ваши настройки на сервере, select * from system.settings where changed https://fiddle.clickhouse.com/e8944560-7373-482c-9a24-c0b0ad51adad
ну и да, обновить точно стоит, как минимум до последней 23.1, было много баг фиксов выпущено
На моем сервере запрос select * from system.settings where changed ничего не вернул
а запросы где выполняете? попробуйте выполнить в clickhouse-client
в DBeaver версия 22.3.4
там постоянно баги какие-то с отображением, попробуйте в нативном клиенте, ну и обновить стоит драйвера КХ в бивере
Большое спасибо! Вы здорово меня выручили!
https://fiddle.clickhouse.com/3980cab9-10eb-4d06-861c-991839cb6358 Вот так у меня получилось
Обсуждают сегодня