Arrays Presto:从json中提取最后一个元素

Arrays Presto:从json中提取最后一个元素,arrays,json,presto,Arrays,Json,Presto,在转换json字段并获取与其服务相关的信息之后,我有一个数组。该服务在json字符串中获取多个值,我在输出中获取所有这些值。不过,我想保留最后一个事件 我得到的结果是: [Free Assessment, Synthetic Oil Change] 我只想留下 Synthetic Oil Change 作为输出,我尝试了substr by,但是表单中有一些信息 [Free Assessment, Synthetic Oil Change at 15,000 miles] 那么我想保留最后

在转换json字段并获取与其服务相关的信息之后,我有一个数组。该服务在json字符串中获取多个值,我在输出中获取所有这些值。不过,我想保留最后一个事件

我得到的结果是:

[Free Assessment, Synthetic Oil Change]
我只想留下

Synthetic Oil Change 
作为输出,我尝试了substr by,但是表单中有一些信息

[Free Assessment, Synthetic Oil Change at 15,000 miles]

那么我想保留最后一件事。我尝试了json_array_get,但它对我不起作用。有办法吗?

要从包含数组的JSON中获取最后一个元素,您需要首先使用JSON_array_length函数获取最后一个元素的索引,然后使用JSON_array_get获取元素。详情请浏览:

上面的示例是使用Presto 326执行的

presto> SELECT json_array_get(x, json_array_length(x) - 1) 
        FROM (VALUES JSON'["first value", "second value"]') t(x);
    _col0
--------------
 second value
(1 row)