PostgreSQL合并多条记录的同一字段:string_agg与array_agg
问题描述
业务上要统计用户的登录状况,每条记录需要显示用户名、用户登录的IP、登录次数及在线时长数据,并且每个用户登录信息在列表中应该只显示一条统计信息,要求相同用户如果存在多个登录IP则将IP拼接起来;
用户很多,用户登录记录也很多,所以不可能将IP地址的拼接工作放到内存完成,所以这里开始寻找能够将多条记录的同一字段拼接到一起的方法;
问题解决
对PostgreSQL并不熟悉,但好在在网上找到了一篇博客:《关于PostgreSql 聚合函数string_agg与array_agg》,使用string_agg完成了任务;
知识扩展
附上PostgreSQL聚合函数的文档:点我前往查阅(贴出来,防迷路)