如何在 AWS Athena 中选择 JSON 数组的最后一个元素?

问题描述 投票:0回答:1

我的数据库有一列包含如下 JSON 数组:

[
    {
        name: 'foo'
    },
    {
        name: 'bar'
    },
    {
        name: 'test'
    }
]

如何从数组中的最后一个元素中选择

name
属性?

我可以轻松选择第一个元素:

json_extract_scalar(my_column, '$[0].name')

这些尝试对最后一个元素不起作用:

json_extract_scalar(my_column, '$[-1].name')
json_extract_scalar(my_column, '$[cardinality(json_parse(my_column)) - 1].name')

注意:我无法对 JSON 数组的长度做出任何假设。

amazon-athena
1个回答
0
投票

你可以这样做:

SELECT element_at(my_column, -1) 
FROM your_table_name;

更多信息:

https://docs.aws.amazon.com/athena/latest/ug/accessing-array-elements.html

© www.soinside.com 2019 - 2024. All rights reserved.