温馨提示×

MySQL JSON聚合的返回结果格式是怎样的

小樊
96
2024-10-02 09:48:10
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

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}
]

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:MySQL JSON聚合在实际应用中的案例

0