我有一个像这样的结构表:
profile | tag
-------------------------
p1 | tag1
p1 | tag2
p1 | tag3
p2 | tag1
p2 | tag3
我想运行一个返回类似:
的查询tag1, tag2, tag3
tag1, tag3
基本上,对于每个唯一的配置文件,表中存在的标记列表。
这是可能的,还是我需要在结果中为我关心的每个标记都添加一个唯一的列?
谢谢!
答案 0 :(得分:2)
这会返回您想要的内容:
SELECT array_agg(tag)
FROM table1
GROUP BY profile
或者:
SELECT string_agg(tag, ',')
FROM table1
GROUP BY profile
string_agg
让你指定你想要的分隔符,并在每一行中对结果进行排序。