Help wanted!
The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.
fonction arrayJoin
C'est un très inhabituelle de la fonction.
Les fonctions normales ne modifient pas un ensemble de lignes, mais modifient simplement les valeurs de chaque ligne (map).
Les fonctions d'agrégation compriment un ensemble de lignes (plier ou réduire).
Le ‘arrayJoin’ la fonction prend chaque ligne et génère un ensemble de lignes (dépliante).
Cette fonction prend un tableau comme argument et propage la ligne source à plusieurs lignes pour le nombre d'éléments dans le tableau.
Toutes les valeurs des colonnes sont simplement copiés, sauf les valeurs dans la colonne où cette fonction est appliquée; elle est remplacée par la valeur correspondante de tableau.
Une requête peut utiliser plusieurs arrayJoin
fonction. Dans ce cas, la transformation est effectuée plusieurs fois.
Notez la syntaxe de jointure de tableau dans la requête SELECT, qui offre des possibilités plus larges.
Exemple:
SELECT arrayJoin([1, 2, 3] AS src) AS dst, 'Hello', src
┌─dst─┬─\'Hello\'─┬─src─────┐
│ 1 │ Hello │ [1,2,3] │
│ 2 │ Hello │ [1,2,3] │
│ 3 │ Hello │ [1,2,3] │
└─────┴───────────┴─────────┘