博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postgreSQL中如何实现group_concat
阅读量:7079 次
发布时间:2019-06-28

本文共 570 字,大约阅读时间需要 1 分钟。

hot3.png

类似Mysql group_concat 的效果。

9.0之后的版本

group by 后如何冗余子表的字段。 比如A、B两个表。B是A的子表,B中有A的主键。查询A的时候,把B的某个字段显示出来,用逗号隔开。

SELECT a.id, string_agg(b.name, ',') FROM A a, B b GROUP BY a.id

使用string_agg函数即可。

9.0之前的版本(此例子为网络收集,未验证)

  1. 自定义聚集函数
CREATE AGGREGATE group_concat(anyelement)(sfunc = array_append, -- 每行的操作函数,将本行append到数组里stype = anyarray, -- 聚集后返回数组类型initcond = '{}' -- 初始化空数组);
SELECT id, array_to_string(group_concat(name),',') from A group by id;
  1. array_agg
select array_to_string(ARRAY(SELECT unnest(array_agg(name))),',') from A;

转载于:https://my.oschina.net/u/2385255/blog/1788412

你可能感兴趣的文章
关于proteus闪退问题
查看>>
Android :实现一个手机卫士的一些要点
查看>>
mysql的备份与恢复
查看>>
Python SocketServer 网络服务器的框架一:基本知识
查看>>
Mac下Android Studio中获取SHA1和MD5
查看>>
iOS 更改状态栏颜色和隐藏状态栏
查看>>
ubuntu下chrome无法同步问题解决
查看>>
Centos7 系统安装
查看>>
HTTP 499 状态码 nginx下 499错误
查看>>
利用光盘安装linux系统
查看>>
笔记本系统恢复连载之七:华硕笔记本系统恢复
查看>>
流量×××与流量监控的区别
查看>>
判断对象属性中是否有空值
查看>>
语境驱动测试7原则
查看>>
Nagios监控搭建与配置详细步骤
查看>>
Tomcat内存设置
查看>>
20经典英语谚语
查看>>
Keras实现的文本情感分类例子
查看>>
StringBuilder和StringBuffer有什么区别?
查看>>
定制MyBatis Generator输出内容
查看>>