与postgres中的distinct不同的string_agg问题

时间:2014-07-16 15:42:56

标签: postgresql

我收到以下查询的错误。基本上使用||& distinct在一起。

select string_agg( 'pre' || distinct user.col, 'post')

它像这样工作正常

select string_agg( 'pre' || user.col, 'post')

&安培;此

select string_agg(distinct user.col, 'post')

3 个答案:

答案 0 :(得分:23)

select string_agg(distinct 'pre' || user.col, 'post')

由于以上将拒绝在distinct聚合中使用索引,请'pre'输出

select 'pre' || string_agg(distinct user.col, 'postpre')

答案 1 :(得分:0)

concat功能可以为您提供帮助。

select string_agg(distinct concat('pre',user.col, 'post'), '')

答案 2 :(得分:0)

array_to_string(array_agg(distinct column_name::text), '; ')

将完成工作