我在psql
中有一个查询,它返回json类型的列
SELECT PC.cid, json_object_agg(PC.pid, PC.map)
FROM process_table AS PC
WHERE PC.pid=240 OR PC.pid=63
GROUP BY PC.cid
字符串
正确返回:
cid | json_object_agg
---------+--------------------
625144 | { "63" : "gfff" }
665087 | { "63" : "sdfg" }
721472 | { "63" : "qerdd" }
756135 | { "63" : "dasdfg" }
2262581 | { "63" : "fgyhh" }
型
我想加入另一个表到这个表中,它具有多对多的关系。即cid
不再是唯一的,并且会有重复的json_object_agg
行。
SELECT F.cid, COUNT(SC.sid)
FROM (
SELECT PC.cid, json_object_agg(PC.pid, PC.map)
FROM process_table AS PC
WHERE PC.pid=240 OR PC.pid=63
GROUP BY PC.cid
) AS F
INNER JOIN system_tables_2 as SC ON SC.cid=F.cid
GROUP BY F.cid
型
**如何为每个F.cid
输出一个json_object_agg
?因为它们都是相同的,所以不在乎哪个。
1条答案
按热度按时间rqdpfwrv1#
尝试在JSON对象上使用
MAX
或MIN
等聚合函数,如下所示字符串