如果使用array_agg
收集名称,我的名称将以逗号分隔,但是如果有null
值,则该null也将被用作集合中的名称。例如 :
SELECT g.id,
array_agg(CASE WHEN g.canonical = 'Y' THEN g.users ELSE NULL END) canonical_users,
array_agg(CASE WHEN g.canonical = 'N' THEN g.users ELSE NULL END) non_canonical_users
FROM groups g
GROUP BY g.id;
它返回,Larry,Phil
而不是仅仅返回Larry,Phil
(在我的9.1.2中显示NULL,Larry,Phil
)。就像这个小提琴
相反,如果我使用string_agg()
,它显示我只有名字(不包括空逗号或空)喜欢这里
问题是我已经Postgres 8.4
安装在服务器上,并且string_agg()
无法在该服务器上工作。有什么方法可以使array_agg类似于string_agg()吗?