获取表中每个唯一ID的所有列条目

时间:2013-11-06 22:02:12

标签: sql postgresql

我有一个像这样的结构表:

profile   |  tag
-------------------------
p1        | tag1
p1        | tag2
p1        | tag3
p2        | tag1
p2        | tag3

我想运行一个返回类似:

的查询
tag1, tag2, tag3
tag1, tag3

基本上,对于每个唯一的配置文件,表中存在的标记列表。

这是可能的,还是我需要在结果中为我关心的每个标记都添加一个唯一的列?

谢谢!

1 个答案:

答案 0 :(得分:2)

这会返回您想要的内容:

SELECT array_agg(tag)
FROM table1
GROUP BY profile

或者:

SELECT string_agg(tag, ',')
FROM table1
GROUP BY profile

string_agg让你指定你想要的分隔符,并在每一行中对结果进行排序。

SQLFIDDLE DEMO