📜  PostgreSQL – ARRAY_AGG()函数(1)

📅  最后修改于: 2023-12-03 15:18:38.409000             🧑  作者: Mango

PostgreSQL – ARRAY_AGG()函数

简介

在 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 或更高版本中可用。
  • 如果要在 PostgreSQL 中将数据聚合到一个字符串中,请使用 string_agg() 函数。如果要聚合复杂的结构,请使用 json_agg()xml_agg() 函数。
结论

ARRAY_AGG() 函数是 PostgreSQL 中一个非常有用的函数,它允许将多个记录聚合为单个数组,从而简化了查询和分析任务。尽管它仅在较新的版本中可用,但它可以显著提高查询效率和可读性。