AWS Athena で配列の要素を Column にする


一回 unnest にした結果を集計してカラムに戻してやることで実現した。

WITH dataset AS (
    SELECT ARRAY [1,2,3] AS items
)
SELECT MAX(CASE WHEN i = 1 THEN i END) AS one
     , MAX(CASE WHEN i = 2 THEN i END) AS two
     , MAX(CASE WHEN i = 3 THEN i END) AS three
FROM dataset
         CROSS JOIN UNNEST(items) AS t(i)

こんな感じの結果になるよ。

もっといい方法があったら教えて下さい。