【发布时间】:2022-08-16 07:07:29
【问题描述】:
我已经看到很多关于使用 json_array_elements 提取 JSON 数组元素的参考资料。但是,这似乎仅适用于 1 个数组。如果我在通用查询中使用它,我会收到错误
ERROR: cannot call json_array_elements on a scalar
鉴于这样的事情:
| orders |
|---|
| { \"order_id\":\"2\", \"items\": [{\"name\": \"apple\",\"price\": 1.10}]} |
| { \"order_id\": \"3\",\"items\": [{\"name\": \"apple\",\"price\": 1.10},{\"name\": \"banana\",\"price\": 0.99}]} |
我想提取
| item | count |
|---|---|
| apple | 2 |
| banana | 1 |
或者
| item | total_value_sold |
|---|---|
| apple | 2.20 |
| banana | 0.99 |
是否可以使用 json_array_elements 聚合这样的 json 数组?
-
\"这似乎只适用于 1 个数组。如果我在通用查询中使用它\" - 不知道你的意思。你能告诉我们你使用的代码,导致错误的代码吗?
标签: arrays json postgresql aggregate-functions jsonb