详细分析Mysql中的 JSON_ARRAYAGG 基本知识(附Demo)
JSON_ARRAYAGG
是 MySQL 中的一个聚合函数,用于创建 JSON 数组。它将聚合行的列值,并将它们作为一个 JSON 数组中的元素返回。
以下是 JSON_ARRAYAGG
的基本使用方法:
SELECT JSON_ARRAYAGG(column_name) FROM table_name;
这将返回一个包含 table_name
表中所有行的 column_name
列值的 JSON 数组。
如果你想要对聚合的 JSON 数组进行更多的控制,你可以使用 JSON_OBJECTAGG
创建 JSON 对象,然后将 JSON_ARRAYAGG
结果作为其中的一个字段。
下面是一个具体的示例:
假设我们有一个 employees
表,它有 id
, name
, 和 department
列,我们想要为每个部门创建一个 JSON 数组,包含该部门的所有员工的名字。
SELECT department, JSON_ARRAYAGG(name) AS employees_list
FROM employees
GROUP BY department;
这将返回每个部门的名字数组,如下所示:
{
"HR": ["Alice", "Bob", "Charlie"],
"Engineering": ["David", "Ella", "Frank"],
"Sales": ["Grace", "Irene", "Jack"]
}
在这个例子中,我们首先按 department
进行分组,然后对每个部门的 name
列使用 JSON_ARRAYAGG
聚合函数来创建包含所有员工名字的 JSON 数组。
评论已关闭