Para criar um array classificado de valores exclusivos com base em um conjunto de linhas, você pode usar a função array_sort
WITH
dataset AS (
SELECT ARRAY[3,1,2,5,2,3,6,3,4,5] AS items
)
SELECT array_sort(array_agg(distinct i)) AS array_items
FROM dataset
CROSS JOIN UNNEST(items) AS t(i)
Essa consulta retorna:
+--------------------+
| array_items |
+--------------------+
| [1, 2, 3, 4, 5, 6] |
+--------------------+
Para obter informações sobre como expandir uma matriz em várias linhas, consulte Nivelar matrizes aninhadas.