Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArrayArray

Агрегирует массивы в более крупный массив, содержащий эти массивы. Сочетает функцию groupArray с комбинатором Array.

Псевдоним: array_concat_agg

Пример

У нас есть данные, фиксирующие пользовательские сеансы просмотра. В каждом сеансе записывается последовательность страниц, которые посетил конкретный пользователь. Мы можем использовать функцию groupArrayArray для анализа закономерностей посещения страниц для каждого пользователя.

Setupsql
CREATE TABLE website_visits (
    user_id UInt32,
    session_id UInt32,
    page_visits Array(String)
) ENGINE = Memory;

INSERT INTO website_visits VALUES
(101, 1, ['homepage', 'products', 'checkout']),
(101, 2, ['search', 'product_details', 'contact']),
(102, 1, ['homepage', 'about_us']),
(101, 3, ['blog', 'homepage']),
(102, 2, ['products', 'product_details', 'add_to_cart', 'checkout']);
Querysql
SELECT
    user_id,
    groupArrayArray(page_visits) AS user_session_page_sequences
FROM website_visits
GROUP BY user_id;
Responsesql
Navigation