从子查询创建数组 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从子查询创建数组

从一组行创建数组。

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 文档的聚合函数