将postgresql数组转换为集合

将postgresql数组转换为集合,postgresql,set,Postgresql,Set,我正在使用postgresql中的(漂亮!)string\u agg函数来累积给定字段的值 string_agg(r.pmid, ',' order by pmid) 这会产生如下结果-由于基础数据中id的值重复: 15364708,15364708,15364708,15364709,15364709,15364709 如何将此数组/列表转换为集合?您可以尝试将DISTINCT与字符串一起使用: SELECT STRING_AGG(DISTINCT r.pmid, ',' ORDER B

我正在使用
postgresql
中的(漂亮!)
string\u agg
函数来累积给定字段的值

string_agg(r.pmid, ',' order by pmid)
这会产生如下结果-由于基础数据中id的值重复:

15364708,15364708,15364708,15364709,15364709,15364709 

如何将此
数组
/
列表
转换为
集合

您可以尝试将
DISTINCT
字符串
一起使用:

SELECT STRING_AGG(DISTINCT r.pmid, ',' ORDER BY pmid)
FROM yourTable
...

啊,所以函数调用的第一部分可以有真正的sql构造-整洁@javadba是的……一开始它看起来和感觉都有点奇怪,但你会习惯的^^7分钟,tic toc