gpt4 book ai didi

sql - 从 sql 表中的 json 中提取所有值

转载 作者:行者123 更新时间:2023-11-29 12:55:11 24 4
gpt4 key购买 nike

我有一个 postgresql 表,其中有一列为 json 格式。

示例列值:

{"Apple":{"category":"fruit","price":100},"Orange":{"category":"fruit","price":80}}

现在我想选择这一列,并提取每行中所有项目的 "price"

获取列的查询:

select items from my_table

要提取特定项目的 json 值,我可以使用

select items -> 'Orange' -> 'price' as price
from my_table

但我如何提取所有商品(Apple、Orange)的价格?也许作为一个数组。

最佳答案

使用json_each() ,例如:

with my_table(items) as (
values (
'{"Apple":{"category":"fruit","price":100},"Orange":{"category":"fruit","price":80}}'::json
)
)

select key, (value->>'price')::numeric as price
from my_table,
json_each(items)

key | price
--------+-------
Apple | 100
Orange | 80
(2 rows)

关于sql - 从 sql 表中的 json 中提取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45009898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com