Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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"] |
- |__________________________________|
- select rev, json_agg(level) levels
- from details
- group by 1
- order by 1;
- rev | levels
- -----+--------------------
- B | [1001, 1002, 1003]
- C | [1004, 1005]
- D | [1006]
- (3 rows)
- select json_object_agg(rev, levels order by rev)
- from (
- select rev, json_agg(level) levels
- from details
- group by 1
- ) s;
- json_object_agg
- ----------------------------------------------------------------
- { "B" : [1001, 1002, 1003], "C" : [1004, 1005], "D" : [1006] }
- (1 row)
Add Comment
Please, Sign In to add comment