Guest User

Untitled

a guest
Nov 12th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. rev | level
  2. -----------
  3. B | 1001
  4. B | 1002
  5. B | 1003
  6. C | 1004
  7. C | 1005
  8. D | 1006
  9.  
  10. {"B":["1001","1002","1003"], "C":["1002","1003"], "D":["1006"]}
  11.  
  12. SELECT d.rev,
  13. to_json(ARRAY(SELECT level
  14. FROM details
  15. WHERE rev = d.rev
  16. GROUP BY level
  17. ORDER BY level DESC
  18. )) AS level
  19. FROM details d
  20. GROUP BY d.rev
  21. ORDER BY d.rev DESC
  22.  
  23. ____________________________________
  24. | B | ["1001","1002","1003"] |
  25. | C | ["1004","1005"] |
  26. | D | ["1006"] |
  27. |__________________________________|
  28.  
  29. select rev, json_agg(level) levels
  30. from details
  31. group by 1
  32. order by 1;
  33.  
  34. rev | levels
  35. -----+--------------------
  36. B | [1001, 1002, 1003]
  37. C | [1004, 1005]
  38. D | [1006]
  39. (3 rows)
  40.  
  41. select json_object_agg(rev, levels order by rev)
  42. from (
  43. select rev, json_agg(level) levels
  44. from details
  45. group by 1
  46. ) s;
  47.  
  48. json_object_agg
  49. ----------------------------------------------------------------
  50. { "B" : [1001, 1002, 1003], "C" : [1004, 1005], "D" : [1006] }
  51. (1 row)
Add Comment
Please, Sign In to add comment