描述:将jsonb对象聚合成jsonb数组。 返回类型:jsonb 示例: SELECT * FROM json_tbl_2; a | b ---+----- 1 | aaa 1 | bbb 2 | ccc 2 | ddd (4 rows) SELECT a, jsonb_agg(b) FROM json_tbl_2 GROUP BY a ORDER BY a; a | jsonb_agg ---+----
您应该首先questions.idtag.name在子选择中选择www.example.com,其中www.example.com = 'css',然后在...
在这个示例中,我们首先使用子查询来创建一个包含customer_id和order_info(一个包含order_date和order_amount的JSON对象)的临时结果集。然后,在外层查询中,我们按customer_id分组,并使用json_arrayagg将order_info聚合成一个JSON数组,同时通过ORDER BY order_date对结果进行排序。
JSON_ARRAYAGG和ORDER BY JSON_ARRAYAGG函数将表中多行列的值组合成一个包含元素值的JSON数组。 因为在计算所有聚合字段之后,查询结果集中应用了一个ORDER BY子句,所以ORDER BY不能直接影响这个列表中的值序列。 在某些情况下,JSON_ARRAYAGG结果可能是按顺序出现的,但是不应该依赖于这种顺序。 在给定聚合结果值中列...
描述:将值聚集为json数组。 返回类型:array-json 示例: SELECT * FROM classes; name | score ---+--- A | 2 A | 3 D | 5 D | (4 rows) SELECT name, json_agg(score) score FROM classes group by name order by name; name | score ---+--- A | [2, 3] D | [5, null] | [n...
描述:将值聚集为json数组。 返回类型:array-json 示例: SELECT * FROM classes; name | score ---+--- A | 2 A | 3 D | 5 D | (4 rows) SELECT name, json_agg(score) score FROM classes group by name order by name; name | score ---+--- A | [2, 3] D | [5, null] | [n...
返回类型:jsonb 示例: SELECT * FROM json_tbl_3; a | b | c ---+---+--- 1 | aaa | 10 1 | bbb | 20 2 | ccc | 30 2 | ddd | 40 (4 rows) SELECT a, jsonb_object_agg(b, c) FROM json_tbl_3 GROUP BY a ORDER BY a; a | jsonb_object_agg ---+--- 1 | {"aaa...
描述:将值聚集为json对象。 返回类型:json 示例: SELECT * FROM classes; name | score ---+--- A | 2 A | 3 D | 5 D | (4 rows) SELECT json_object_agg(name, score) FROM classes group by name order by name; json_object_agg --- { "A" : 2, "A" : 3 } { "D" : 5, "...
描述:将值聚集为json对象。 返回类型:json 示例: SELECT * FROM classes; name | score ---+--- A | 2 A | 3 D | 5 D | (4 rows) SELECT json_object_agg(name, score) FROM classes group by name order by name; json_object_agg --- { "A" : 2, "A" : 3 } { "D" : 5, "...