使用篩選陣列 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 | +------------------------+