暂无图片
list_agg --> stringagg
我来答
分享
外包DBA
2020-06-16
list_agg --> stringagg

---------------已知-------------
oracle中list_agg
翻译
pg中是string_agg
----------------问题------------
list_agg可以加within group 分组
stringg_agg中没有within group只能order by

注意:select中有很多列需要显示,无法在sql最后加group by !

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
joan

string_agg本身就是使用在聚合场景,有多列要显示一样可以把它们放group by中,或者你可以把要聚合的直接在select中写个子查询聚合,例如:SELECT col1,col2,(SELECT STRING_AGG(…) FROM … WHERE …) FROM …

暂无图片 评论
暂无图片 有用 0
打赏 0
外包DBA

这样写也许是可以的,
但是至少需要对同一个表扫描2次,或者表自身关联,
性能肯定会打折扣!
还是希望有可以只扫描一次表就得到结果的方法,谢谢~!

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
shell脚本中的postgres操作,是怎么弄的?psql?还是登录进去用EOF?
回答 3
!/bin/bashexportPGHOSTip地址exportPGPORT端口exportPGDATABASE数据库名exportPGUSER用户名exportPGPASSWORD密码psqlpse
应用请求以后,postgresql响应时间长, 怎么排查?
回答 1
看看执行计划。以及单次执行一下多久?如果慢,优化SQL
mysql数据库导入到postgresql有什么方法?
回答 1
已采纳
ogg
postgresql文档示例数据从哪下载
回答 2
已采纳
here:https://github.com/postgres/postgres/blob/master/src/test/regress/sql/testsetup.sqlL140
postgreSQL 增列,如果有值,是不是都相当于UPDATE了一次?
回答 1
增列说明没列,没列也能有值吗?不懂哎
pg_rman备份恢复后启动数据库报错,下面是演示操作
回答 1
使用源码编译pg14.2源码编译pgrman1.3.14在centos7.6未能复现问题。恢复过程:[postgres@pg]$pgrmanrestore\>pgdata/opt/pgdatat
postgresql主从异步流复制的报错:文件已存在
回答 1
这个问题可能跟再PGDATA目录里创建自定义表空间有关。
connot open relation with oid xxx
回答 2
已采纳
问题已找到。有人误删除了pgclass的相关记录,导致对应的relation无法访问报错error:couldnotopenrelationwithoidxxx。navicat的【视图】需要用到pgg
postgreSQL 提供nodejs的官方驱动吗?
回答 1
pg、nodepostgres
地理数据如何做表分区啊?
回答 2
不需要分区。如果要分大家都是按照时间维度来做。