mysql pgsql 实现多行记录合并成一行 分组合并 用指定字符做分割

news/2024/7/9 21:39:27 标签: 数据库, mysql, sql, postgresql

sql>mysql pgsql 按照指定字段分组实现多行合并成一行

    • 数据库服务器环境
    • 原表结构和数据
    • sql>mysql
      • SQL
      • 结果
      • 去重
      • 去重之后的查询结果
    • pgsql
      • SQL
      • 结果
      • 去重
      • 去重之后的结果
    • 相关文章导读

数据库服务器环境

数据库版本
sql>mysql5.7
PostgreSQL10.10

原表结构和数据

idnamegendermajor
1张三篮球
2张三足球
3李四游泳
4小周跑步
5王二健身
6小周网球
7张三足球

sql>mysql_22">sql>mysql

SQL

sql">select demo_table.name, group_concat(major separator ',') as combine_name
from demo_table
group by name

结果

namecombine_name
小周跑步,网球
张三篮球,足球,足球
李四游泳
王二健身

去重

sql">select demo_table.name, group_concat(distinct major separator ',') as combine_name
from demo_table
group by name

去重之后的查询结果

namecombine_name
小周网球,跑步
张三篮球,足球
李四游泳
王二健身

sql_58">pgsql

SQL

sql">select name ,
       array_to_string(array (select unnest(array_agg(major))), ',') as combination_name
from demo_table
group by name

结果

namecombination_name
张三篮球,足球,足球
李四游泳
小周跑步,网球
王二健身

去重

sql">select name ,
       array_to_string(array (select unnest(array_agg(distinct major))), ',') as combination_name
from demo_table
group by name

去重之后的结果

namecombination_name
小周网球,跑步
张三篮球,足球
李四游泳
王二健身

相关文章导读

sql>mysql 在select查询语句中使用临时变量累计求和 ;
相同列值的记录中再根据条件取其中最大或最新一条;
sql>mysql经纬度求距离并排序


http://www.niftyadmin.cn/n/1307392.html

相关文章

gradle发布代码到maven中央仓库

gradle发布代码到maven中央仓库环境githubSonatype JIRA注册sonatype账号创建一个新的项目票据创建密钥下载密钥工具新建密钥设置密钥设置密钥的密码并生成吊销证书妥善保存导出私钥和公钥将密钥上传到公共密钥服务器项目配置创建全局变量配置编译脚本管理和发版发布到releasec…

springboot Activiti6

springboot Activiti6流程建模需要下载设计工具Activiti6.0 UI运行设计工具登录页流程图效果BPMN2.0构件起点结束活动流程线网关变量设置画不同拐角的流程线导出BPMN2.0文件流程开发导入BPMN2.0文件部署BPMN依赖配置数据源配置activiti配置表结构解决依赖冲突确定前端流程每个节…

springcloud feign 传递map 对象 多媒体文件

Spring cloud 通过feign 可以来调用其他微服务的api具体用法 EnableFeignClients // 开启fegin客户端 SpringBootApplication public class MongodbApiApplication { publicstaticvoid main(String[] args) { SpringApplication.run(MongodbApiApplication.class, args); } …

springboot下生成复杂word文档方案 在Word软件里面制作模板

系列文章目录 第二章:根据模板导出word,复合格式表格生成、可变列表格生成 第三章:doc和docx插入多图 第四章:web环境下word文档预览 springboot freemarker 生成复杂word系列文章目录代码仓库1. 制作word模板1.1 制作一个word文…

根据模板导出word,复合格式表格生成、可变列表格生成

系列文章目录 第一章:springboot下生成复杂word文档方案 在Word软件里面制作模板 第三章:doc和docx插入多图 第四章:web环境下word文档预览 根据模板导出word,复合格式表格生成、可变列表格生成系列文章目录前言复合格式表格一、…

word文档生成系列:doc和docx插入多图

系列文章目录 第一章:springboot下生成复杂word文档方案 在Word软件里面制作模板 第二章:根据模板导出word,复合格式表格生成、可变列表格生成 第三章:doc和docx插入多图 第四章:web环境下word文档预览 文章目录系列文…

从ELK认识docker-compose

系列文章目录 CentOS Docker 安装并用阿里云加速 docker安装Elasticsearch以及分词器 部署Elasticsearch下篇:安装Kibana Elastic Stack之日志收集 从ELK认识docker-compose系列文章目录前言docker compose 的使用场景什么场景不适合使用docker compose一、dock…

springboot 多任务并行执行

ComponentScan(basePackages { "com.meadin.agent" }) EnableApolloConfig EnableAsync // 开启多任务 public class BwStudyApplication {public static void main(String[] args) {SpringApplication.run(BwStudyApplication.class, args);} } 配置线程池的参数 …