📅  最后修改于: 2023-12-03 15:18:38.409000             🧑  作者: Mango
在 PostgreSQL 中,ARRAY_AGG()
函数用于将一列数据聚合成一个数组(array)。这个函数返回一个具有一维数组的新行(row),其中每个元素都是输入表达式的结果。ARRAY_AGG()
函数可以与 GROUP BY
子句一起使用。
ARRAY_AGG(expression)
expression
: 要聚合成数组的表达式。下面是一个简单的示例,使用 ARRAY_AGG()
函数将一个表中的数据按照指定的列聚合成一个数组:
SELECT department, ARRAY_AGG(name)
FROM employees
GROUP BY department;
这将生成一个二元元组列表,其中第一个元素是部门名称,第二个元素是属于该部门的所有员工的名称列表,以数组的形式呈现。
ARRAY_AGG()
函数的输出类型为数组。如果必要,可能需要使用其他函数转换为所需的类型。ARRAY_AGG()
函数仅在 PostgreSQL 9.0 或更高版本中可用。string_agg()
函数。如果要聚合复杂的结构,请使用 json_agg()
或 xml_agg()
函数。ARRAY_AGG()
函数是 PostgreSQL 中一个非常有用的函数,它允许将多个记录聚合为单个数组,从而简化了查询和分析任务。尽管它仅在较新的版本中可用,但它可以显著提高查询效率和可读性。