如何解决从地图中获取 Athena 中给定键数组的值 更新:
如何从给定键数组的映射中提取值(与数组中的键具有相同的顺序)?我发现了一个类似的问题,但在 Scala 中:Getting values from Map given list of keys in Scala。
输入:
MAP(ARRAY['a','b','c','d'],ARRAY[1,2,3,4])
和
ARRAY['d','b']
所需的输出:
ARRAY[4,2]
更新:
我找到了解决方案:
- 不保留顺序:
SELECT map_values(map_filter(MAP(ARRAY['a',4]),(k,v) -> contains(ARRAY['d','b'],k))) -- [2,4]
- 保留顺序:
SELECT transform(ARRAY['d',x -> MAP(ARRAY['a',4])[x]) -- [4,2]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。