我很抱歉这个模糊的标题,但我根本不知道合适的词来描述这个。
我有这个查询将一堆列转换为一个可以正常工作的对象:
SELECT row_to_json(t)
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t
但是,我想将属于某个类别的对象分组到一个数组中。此类别由我的表中名为“cargoProductId”的第四列定义。该数组应以“cargoProductId”的值作为键。所以:
"961":[
{"type":"Feature",....
{"type":"Feature",....
{"type":"Feature",....
],
"962":[
.....
]
所以在过去的 1 1/2 小时左右,我一直在努力解决这个问题。我真的不知道该怎么做。这就是我现在所拥有的:
SELECT array_agg(row_to_json(t))
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t) FROM "bgbCargoMinardJSON" GROUP BY "carProductId"
如果您使用的是 9.4,则可能是您所追求的:
扩展杰克答案:删除撇号和斜线使用
json_build_object
我认为它会起作用。