

# サブクエリから配列を作成する
<a name="creating-arrays-from-subqueries"></a>

行のコレクションから配列を作成します。

```
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)
```

このクエリは以下を返します。

```
+-----------------+
| array_items     |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+
```

行のセットから一意の値の配列を作成するには、`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)
```

このクエリは次の結果を返します。順序は保証されないことに注意してください。

```
+-----------------+
| array_items     |
+-----------------+
| [1, 2, 3, 4, 5] |
+-----------------+
```

`array_agg` 関数の使用方法の詳細については「Trino ドキュメント」の「[集計関数](https://trino.io/docs/current/functions/aggregate.html)」を参照してください。