Преобразование массива кортежей в Athena SQL в форматированную таблицу

Есть ли способ преобразовать следующие данные (массив «кортежей») в Athena SQL в следующий формат?

Примечание: что количество элементов в массиве не определено и их может быть много, но они всегда парные.

От:

[1234, 1, 5678, 2, ..., 9012, 3]

К:

Я БЫВал
12341
56782
90123
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
15
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

С предоставленными данными вы можете попробовать следующий подход - unnest массив с порядковым номером, сгруппировать с использованием порядкового номера в массив, а затем извлечь элементы массива:

select try(agg [ 1 ]) id,
    try(agg [ 2 ]) val
from (
        select (a - 1) / 2 grp, -- group determined from ordinality
            array_agg(n) agg -- aggregated array with up to 2 members
        from (select array[1234, 1, 5678, 2, 9012, 3] arr) -- initial data
        cross join unnest(arr) WITH ORDINALITY AS t (n, a)
        group by 1
    )
order by grp

Выход:

я бывал
12341
56782
90123

Другие вопросы по теме