JSON_ARRAYAGG 函数用于将一组值转换为 JSON 数组。它接受一个参数,即要转换为数组的列名或表达式,并返回 JSON 格式的字符串。
示例:
假设我们有以下数据表 users:
| id | name | age |
|---|---|---|
| 1 | Alice | 25 |
| 2 | Bob | 30 |
| 3 | Charlie | 35 |
我们想要将所有用户的年龄转换为 JSON 数组,可以使用以下 SQL 语句:
SELECT JSON_ARRAYAGG(age) FROM users;
执行上述语句后,会返回一个包含所有用户年龄的 JSON 数组:
[25,30,35]
如果我们想要在 JSON 数组中包含更多信息,可以使用 JSON_OBJECT 函数。例如,以下 SQL 语句会将所有用户的 ID 和名称转换为 JSON 对象,并将它们组合成一个 JSON 数组:
SELECT JSON_ARRAYAGG(JSON_OBJECT('id', id, 'name', name)) FROM users;
执行上述语句后,会返回一个包含所有用户信息的 JSON 数组:
[
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"},
{"id": 3, "name": "Charlie"}
]




