当前位置:   article > 正文

PostgreSQL 中如何实现group_concat_postgresql group_concat

postgresql group_concat

之前在MySQL中使用group_concat,觉得超级好用。

今天在PostgreSQL需要用到这样的场景,就去学习了一下。

在PostgreSQL中提供了array_agg的函数来实现聚合,不过返回的类型是Array。

如果我们需要得到一个字符串类型的数据时,可以通过 array_to_string(array_agg(字段),',')方式来实现。

当然也有更加方便的函数来实现,string_agg(字段,',')。

例如:(查新员工信息,需要把角色合并)

SELECT T.ID,T.username,T.truename,array_to_string(array_agg(b.description),',') as roleName,T.emailaddress,T.project,T.groupname,T.enabled

FROM h_users T

LEFT JOIN user_role A ON T.ID = A.user_id

LEFT JOIN ROLE b ON A.role_id = b.ID

group by T.ID,T.username,T.truename,T.emailaddress,T.project,T.groupname,T.enabled

order by T.username

查询结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/482790
推荐阅读
相关标签
  

闽ICP备14008679号