postgresql - PostgreSQL 中的 LISTAGG 等价物
问题描述
我在将其从 Oracle 转换为 PostgreSQL 时遇到问题。我试过使用 STRING_AGG,但没有任何成功。我相信 REGEXP_REPLACE 也存在问题。有人可以帮忙吗?
REGEXP_REPLACE(
LISTAGG(column_name, ',') WITHIN GROUP (ORDER BY column_name),
'([^,]+)(,\1)*(,|$)',
'\1\3'
)
解决方案
也许你想要这样的东西:
string_agg(DISTINCT column_name, ',' ORDER BY column_name)
推荐阅读
- python - 使用“\t”进行文件解析和标记化
- ios - 选择不同月份时,DateFormatter 错误时间输出
- r - 清理带有几个引号的文本,只留下一对
- typescript - TypeScript ESLint 错误地报告:“函数已定义但从未使用。”
- r - R: rgeom(n,p) 当 n 和 p 不固定时
- c++ - 在同一程序中使用设备内 malloc() 和 cudaMalloc() 时,cuda-memcheck 未正确报告
- java - 在 Java 控制台应用程序中读取光标位置
- amazon-web-services - 使用 Iam 角色从 Autoscaling 组启动 EC2 节点
- typescript - Testing TypeScript with Jest: "no overload matches this call"
- php - 如何在 WordPress 中使用 update_user_meta 更新元值?