Сообщения

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

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

Изображение
Иногда возникает ситуация, когда нужно разложить поле, содержащее столбец-массив на несколько строк, то есть вынести в столбец каждый отдельный элемент массива. Другими словами: как разгруппировать колонку в несколько строк. Перед прочтением рекомендую подписаться на мой телеграмм канал, где вы сможете найти актуальные новости, примеры и хаки в мире разработки:  @asanov_tech Например, разложить колонку 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