У меня есть таблица S3 (тест) со столбцом (образцом) в массиве формата структуры.
[{index=1, value='A'}, {index=2, value='B'}, {index=3, value='F'}, ...]
Я попробовал этот запрос, и он работает:
SELECT
date,
MAX(case when s.index = 1 then s.value else NULL end) AS a1,
MAX(case when s.index = 3 then s.value else NULL end) as a2
FROM test,
UNNEST(sample) AS t(s)
group by date;
Есть ли способ сделать то же самое без использования unnest (например, с помощью функции фильтра)?
filter
(prestosql.io/docs/0.172/functions/ lambda.html#filter),transform
(prestosql.io/docs /0.172/functions/lambda.html#transform) иarray_max
(prestosql.io/docs/0.172/functions/array.html#array_max). (Поскольку Athena основана на Presto 0.172, я даю ссылки на документы для этой версии). - person Piotr Findeisen   schedule 31.07.2019