我目前有一个AWS Athena查询,如下所示:
SELECT array_agg(ROW(n.stop_sequence, n.stop_name, n.stop_lat, n.stop_lon))
FROM ...
GROUP BY ...
现在的输出如下:
[{field0=39, field1=Name, field2=41.838512, field3=12.437013}, {field0=...,...},...]
有没有一种方法可以修改(而不是进行另一个查询来修改当前输出(SELECT
,使输出看起来像这样?
[[39, Name, 41.838512, 12.437013}, [...],...]
我尝试使用ARRAY
而不是ROW
,但这不起作用,因为数组需要相同类型的元素。此外,我也不想进行第二次查询来修改输出。
正如您已经发现的,array
需要是同构的,属于某种类型,并且SQL中没有常见的超类型。一个匿名的row
(带有未命名字段的row
(是您想要的,但这是目前打印的方式
presto> SELECT ROW(42, true, 'Presto SQL');
_col0
---------------------------------------------
{field0=42, field1=true, field2=Presto SQL}
(1 row)
您可以跟踪问题https://github.com/prestosql/presto/issues/4587以改进这一点。