我有一个二维列表,对于列表中的每个列表,我都希望打印其索引,对于每个列表中的每个元素,我也都希望打印其索引。 这是我尝试过的: 但是输出是: 这是为什么? 我怎样才能让它做我想要的? ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我需要根据另一个类似列表的列中其他元素的位置来访问类型为列表的列中的元素。 说,我的数据集是这样的:
WITH dataset AS (
SELECT ARRAY ['hello', 'amazon', 'athena'] AS words,
ARRAY ['john', 'tom', 'dave'] AS names
)
SELECT * FROM dataset
我要实现
SELECT element_at(words, index(names, 'john')) AS john_word
FROM dataset
有没有办法在 Athena 中拥有像“索引”这样的功能? 或者我怎样才能像这样定制一个? 期望的结果应该是这样的:
| -------- |
| john_word|
| -------- |
| hello |
| -------- |
array_position(x, element)
→bigint
返回数组x
中元素第一次出现的位置(如果未找到,则返回 0)。
请注意,presto 数组索引从 1 开始。
SELECT element_at(words, array_position(names, 'john')) AS john_word
FROM dataset
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.