我试图从Postgresql中的一个对象数组中提取一个值数组,本质上是Map数组并提取。
例如,我有一个值:
[{"id":123,"quantity":4,"amount":180},
{"id":563,"quantity":1,"amount":675},
{"id":563,"quantity":1,"amount":875},
...]
我想只提取数组中的数量,例如:[180,675,875...]
在postgres中有没有简单的方法可以做到这一点?
提前感谢你的任何帮助
我试图从Postgresql中的一个对象数组中提取一个值数组,本质上是Map数组并提取。
例如,我有一个值:
[{"id":123,"quantity":4,"amount":180},
{"id":563,"quantity":1,"amount":675},
{"id":563,"quantity":1,"amount":875},
...]
我想只提取数组中的数量,例如:[180,675,875...]
在postgres中有没有简单的方法可以做到这一点?
提前感谢你的任何帮助
1条答案
按热度按时间hmtdttj41#
使用
jsonb_array_elements
将数组提取为一组JSON值,然后使用array_agg
重新聚合数组:Demo here