写法1:
string_agg
写法2:
array_to_string(ARRAY_AGG (text),',')
补充:PostgreSQL行列转换(兼容oracle pivot unpivot)
oracle11g开始内置了数据透视表pivot table这一功能,可以用来实现行列转换的功能,但是在数据量较大的时候使用性能就会较差。
pivot语法为:
oracle pivot使用例子:–创建测试表并插入数据
–使用pivot进行行列转换
我们还可以使用unpivot来实现列转行。
unpivot语法为:
oracle unpivot使用例子:–创建测试表并插入数据
–使用unpivot进行列转行
那么在pg中该如何实现oracle的pivot/unpivot的行列转行功能呢?pg中自带的tablefunc插件可以实现,我们可以使用该插件中的crosstab函数接口进行行列转换。
pg行转列例子:–建表插入测试数据
–行转列
–列转行
以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。