Création de tableaux à partir de sous-requêtes
Créez un tableau à partir d'un ensemble de lignes.
WITH dataset AS ( SELECT ARRAY[1,2,3,4,5] AS items ) SELECT array_agg(i) AS array_items FROM dataset CROSS JOIN UNNEST(items) AS t(i)
Cette requête renvoie :
+-----------------+
| array_items |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+Pour créer un tableau de valeurs uniques à partir d'un ensemble de lignes, utilisez le mot-clé distinct.
WITH dataset AS ( SELECT ARRAY [1,2,2,3,3,4,5] AS items ) SELECT array_agg(distinct i) AS array_items FROM dataset CROSS JOIN UNNEST(items) AS t(i)
Cette requête renvoie le résultat suivant : Notez que l'ordre n'est pas garanti.
+-----------------+
| array_items |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+Pour plus d’informations sur l’utilisation de la fonction array_agg, veuillez consulter Fonctions d’agrégation