使用 UNNEST 筛选数组 - Amazon Athena

使用 UNNEST 筛选数组

要按照一个子元素筛选包含嵌套结构的数组,请发出具有 UNNEST 运算符的查询。有关 UNNEST 的更多信息,请参阅展平嵌套数组

例如,此查询在数据集中查找站点的主机名。

WITH dataset AS ( SELECT ARRAY[ CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ), CAST( ROW('news.cnn.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ), CAST( ROW('netflix.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) ] as items ) SELECT sites.hostname, sites.flaggedActivity.isNew FROM dataset, UNNEST(items) t(sites) WHERE sites.flaggedActivity.isNew = true

它返回:

+------------------------+ | hostname | isnew | +------------------------+ | aws.amazon.com | true | +------------------------+