阅读量:0
MySQL的JSON聚合函数JSON_AGG()
用于将多个值聚合成一个JSON数组。其基本语法如下:
JSON_AGG(value [, value] ...)
其中value
是要聚合的值,可以是JSON对象、JSON数组或其他有效的JSON值。JSON_AGG()
函数将这些值放入一个JSON数组中并返回结果。
以下是一个简单的示例,说明如何使用JSON_AGG()
函数:
CREATE TABLE example ( id INT PRIMARY KEY, name VARCHAR(255), age INT ); INSERT INTO example (id, name, age) VALUES (1, 'Alice', 30), (2, 'Bob', 25), (3, 'Charlie', 35); SELECT JSON_AGG(JSON_OBJECT('id', id, 'name', name, 'age', age)) AS result FROM example;
此查询将返回一个包含所有示例行ID、名称和年龄的JSON数组:
[ {"id": 1, "name": "Alice", "age": 30}, {"id": 2, "name": "Bob", "age": 25}, {"id": 3, "name": "Charlie", "age": 35} ]
如果需要将多个JSON对象聚合成一个JSON数组,可以使用JSON_ARRAYAGG()
函数。语法如下:
JSON_ARRAYAGG(value [, value] ...)
以下是一个使用JSON_ARRAYAGG()
函数的示例:
SELECT JSON_ARRAYAGG(JSON_OBJECT('id', id, 'name', name, 'age', age)) AS result FROM example;
此查询将返回与前面示例相同的结果,但使用JSON_ARRAYAGG()
函数:
[ {"id": 1, "name": "Alice", "age": 30}, {"id": 2, "name": "Bob", "age": 25}, {"id": 3, "name": "Charlie", "age": 35} ]