Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

sumForEach

Descrição

O combinador ForEach pode ser aplicado à função de agregação sum para transformá-la de uma função de agregação que opera sobre valores de linhas em uma função de agregação que opera sobre colunas do tipo Array, aplicando a agregação a cada elemento do array ao longo das linhas.

Exemplo de uso

Para este exemplo, usaremos o conjunto de dados hits disponível em nosso playground SQL.

A tabela hits contém uma coluna chamada isMobile do tipo UInt8, que pode ser 0 para desktop ou 1 para dispositivos móveis:

SELECT EventTime, IsMobile FROM metrica.hits ORDER BY rand() LIMIT 10

Usaremos a função de combinador de agregação sumForEach para analisar como o tráfego em desktop versus dispositivos móveis varia ao longo das horas do dia. Clique no botão de play abaixo para executar a consulta interativamente:

SELECT
    toHour(EventTime) AS hour_of_day,
    -- Use sumForEach para contar visitas em desktop e em dispositivos móveis em uma única passagem
    sumForEach([
        IsMobile = 0, -- Visitas em desktop (IsMobile = 0)
        IsMobile = 1  -- Visitas em dispositivos móveis (IsMobile = 1)
    ]) AS device_counts
FROM metrica.hits
GROUP BY hour_of_day
ORDER BY hour_of_day;

Veja também

Navigation