postgres中的行

时间:2014-03-07 11:41:09

标签: postgresql crosstab

我正在使用PostgreSQL 8.1,我的数据是

key Name        Category
101 Lemon-Tree  Dining
101 Lemon Tree  Recreation
101 Lemon Tree  NightLife

并希望将其显示为

Key Name        Categories
101 Lemon-Tree  Dining,Recreation,NightLife

我已尝试使用array_agg函数对它们进行分组,但它没有产生所需的结果。

SELECT key,name,array_agg(category) AS categories FROM POI_MAster_data GROUP BY key,name;

是否有其他方法/功能可以获得所需的o / p?

谢谢, 维杰

1 个答案:

答案 0 :(得分:0)

最佳选择是将postgres升级到最新版本之一(目前为9.x),其中string_agg()或至少是最后一个官方支持的8.x分支(目前为8.4),有array_agg()

如果你真的无法升级,你也可以在8.1中write your own aggregate function