【发布时间】:2019-12-16 21:10:23
【问题描述】:
我有一个 Athena 查询,它取消了一个数组的嵌套,将元素与另一个表连接起来,然后使用 array_agg 将它们收集回一个数组中。我想保留元素的原始顺序,但 Athena 不支持 Presto 功能在ORDER BY 中添加ORDER BY 子句。如何保持元素的顺序?
查询类似于这个例子:
SELECT x, array_agg(b) bs
FROM table1 -- table1 columns are x, ys
CROSS JOIN UNNEST(ys) AS t(y)
JOIN table2 ON y=a -- table2 columns are a, b
GROUP BY x
- 默认行为似乎是保留顺序。可靠吗?
- 如果不是 (1),是否有一个实现可以保留
ys在bs中的顺序?
【问题讨论】:
标签: sql presto amazon-athena