首页/数据/SQL 速查/string_agg 字符串聚合(PostgreSQL)
本包目录(311 条)
查询基础33 条连接与子查询40 条
聚合与窗口函数54 条
函数速查60 条变更与事务52 条性能与执行计划72 条

string_agg 字符串聚合(PostgreSQL)

PostgreSQL 的字符串聚合函数:string_agg(值, 分隔符 [ORDER BY …]);MySQL 对应 GROUP_CONCAT。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT user_id,
       string_agg(DISTINCT product_name, ', ' ORDER BY product_name) AS products
FROM order_items
GROUP BY user_id;
语法string_agg(expr, delimiter [ORDER BY …])
去重支持 DISTINCT
对应MySQL 用 GROUP_CONCAT;两库分隔符参数位置不同

易错点

  • 两库参数顺序不同:MySQL SEPARATOR 在最后,PG 分隔符是第二个参数,迁移时逐条核对
  • 拼接大字段超过 text 限制(约 1GB)会报错,聚合前先评估数据量

数据来源与参考

  • PostgreSQL Documentation · Aggregate Functions · string_agg
  • MySQL 8.0 Reference Manual · GROUP_CONCAT
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌