【发布时间】:2017-09-13 04:50:01
【问题描述】:
我有一个表,其中包含两列,如下所示:
rev | level
-----------
B | 1001
B | 1002
B | 1003
C | 1004
C | 1005
D | 1006
我正在尝试返回如下所示的列:
{"B":["1001","1002","1003"], "C":["1002","1003"], "D":["1006"]}
我能得到的最好的结果就是使用这个查询:
SELECT d.rev,
to_json(ARRAY(SELECT level
FROM details
WHERE rev = d.rev
GROUP BY level
ORDER BY level DESC
)) AS level
FROM details d
GROUP BY d.rev
ORDER BY d.rev DESC
这给了我以下行:
____________________________________
| B | ["1001","1002","1003"] |
| C | ["1004","1005"] |
| D | ["1006"] |
|__________________________________|
如何将这些列组合成一个 JSON 对象?
【问题讨论】:
-
select version()?
标签: arrays json postgresql aggregate-functions