Erstellen von Arrays aus Unterabfragen
Erstellen Sie ein Array aus einer Sammlung von Zeilen.
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)
Diese Abfrage gibt Folgendes zurück:
+-----------------+
| array_items |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+Nutzen Sie das Schlüsselwort distinct, um ein Array, bestehend aus eindeutigen Werten, aus einer Reihe von Zeilen zu erstellen.
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)
Diese Abfrage gibt das folgende Ergebnis zurück. Beachten Sie, dass die Reihenfolge nicht garantiert ist.
+-----------------+
| array_items |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+Weitere Informationen zur Verwendung der array_agg-Funktion siehe Aggregate functions