使用PostgreSQL实现Concat结果

时间:2016-03-30 18:32:00

标签: sql node.js postgresql select concatenation

我正在使用PostgreSQL。我有一个列有列的表:id,city,country。 我有每个国家的几个城市。

例如:

ID     Country     City
1      Brazil      Rio de Janeiro
2      Argentina   Buenos Aires
3      Argentina   Bariloche

我想要一个返回类似

的SELECT
Country     Cities
Brazil      (Rio de Janeiro)
Argentina   (Buenos Aires, Bariloche)

我该怎么办?

1 个答案:

答案 0 :(得分:1)

根据您希望在结果集中获得的内容,您可以使用array_agg()string_agg()个功能。

WITH t(id,country,city) AS ( VALUES
  (1,'Brazil','Rio de Janeiro'),
  (2,'Argentina','Buenos Aires'),
  (3,'Argentina','Bariloche')
)
SELECT country,'(' || string_agg(city,',') || ')' FROM t
GROUP BY country;