Сообщения

Сообщения за июль, 2021

Как разложить массив на несколько строк в ClickHouse

Изображение
Иногда возникает ситуация, когда нужно разложить поле, содержащее столбец-массив на несколько строк, то есть вынести в столбец каждый отдельный элемент массива. Другими словами: как разгруппировать колонку в несколько строк. Например, разложить колонку room_number на несколько строк.  В примере ниже мы разложили колонку room_number на несколько строк для  consumer_id = 1694953573. Получаем следующий результат: Как видим из примера выше, каждый элемент массива room_numbers теперь на отдельной строке. Делается это при помощи конструкции ARRAY JOIN. Синтаксис следующий: [ LEFT ] ARRAY JOIN < array > Вместо <array> вы должны указать колонку или выражение, которое возвращает массив. Для нашего примера запрос будет таким: SELECT consumer_id, room_number, order_date FROM orders ARRAY JOIN room_numbers as room_number WHERE consumer_id = 1694953573; Profit! Приветствуются конструктивные комментарии. Спасибо. P.S. А если поле у вас не массив, а строка, т