Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

sumForEach

Description

Le combinateur ForEach peut être appliqué à la fonction d'agrégation sum pour la transformer d'une fonction d'agrégation qui opère sur les valeurs des lignes en une fonction d'agrégation qui opère sur des colonnes de type Array, en appliquant l'agrégation à chaque élément du tableau à travers l'ensemble des lignes.

Exemple d'utilisation

Pour cet exemple, nous utiliserons le jeu de données hits disponible dans notre playground SQL.

La table hits contient une colonne appelée isMobile de type UInt8, qui peut valoir 0 pour ordinateur de bureau ou 1 pour mobile :

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

Nous utiliserons le combinateur d’agrégation sumForEach pour analyser comment le trafic entre ordinateur de bureau et mobile varie selon l’heure de la journée. Cliquez sur le bouton play ci-dessous pour exécuter la query de manière interactive :

SELECT
    toHour(EventTime) AS hour_of_day,
    -- Utiliser sumForEach pour compter les visites sur ordinateur de bureau et sur mobile en une seule passe
    sumForEach([
        IsMobile = 0, -- Visites sur ordinateur de bureau (IsMobile = 0)
        IsMobile = 1  -- Visites sur mobile (IsMobile = 1)
    ]) AS device_counts
FROM metrica.hits
GROUP BY hour_of_day
ORDER BY hour_of_day;

Voir aussi

Navigation