先创建一个测试表

CREATE TABLE `test` (
  `id` int NOT NULL,
  `num` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  `coun` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  `sit` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

插入一些重复的数据

INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (1, '1', 'q', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (2, '1', 'w', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (3, '1', 'e', NULL);

INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (4, '2', '1', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (5, '2', '2', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (6, '2', '3', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (7, '3', '4', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (8, '3', '5', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (9, '4', '6', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (10, '4', '7', NULL);
INSERT INTO `dt`.`test` (`id`, `num`, `coun`, `sit`) VALUES (11, '4', '8', NULL);

用group函数查询一下合并的数据
SELECT id,GROUP_CONCAT(coun SEPARATOR ',') phone FROM test GROUP BY num

把合并的重复列更新到一个空的字段里

UPDATE test t1
LEFT JOIN (SELECT t2.id,GROUP_CONCAT(t2.coun SEPARATOR ',') as val FROM test t2 GROUP BY t2.num ) t3 on t3.id = t1.id
set t1.sit = t3.val

更新后的效果如下图,如果要删除重复行,就把sit空的数据行删去就可了

MySQL根据某一个字段合并重复列相关推荐

  1. MySQL数据库添加一个字段

    MySQL数据库添加一个字段 1.添加一个字段 alter table tableName add 列名  数据类型; 2.添加一个字段设置默认值 alter table tableName add ...

  2. mysql中查询一个字段属于哪一个数据库中的哪一个表的方式

    mysql中查询一个字段具体是属于哪一个数据库的那一张表:用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表 --mysql中查询某一个字段名属于哪一个 ...

  3. mysql表 新增一个字段

    mysql表中在指定位置新增一个字段 原表结构,表名number 目的: 在字段numid 后新增一个name字段 alter table number add name varchar(100) c ...

  4. mysql查询某一个字段是否包含中文汉字

    在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT column FROM table WHERE length(column)!=char_leng ...

  5. mysql如何将多条返回结果的一个字段合并成一条

    group_concat(相同的字段名) + GROUP BY (要分组主键): 加了group_concat 和 GROUP BY之后 合并结果集完成

  6. MySQL 查询表中某字段值重复的数据

    MySQL中,查询表(dat_bill_2018_11)中字段(product_id)值重复的记录: SELECT product_id, COUNT(*) AS sumCount FROM dat_ ...

  7. 集合中的实体类根据一个字段合并_JAVA中序列化与反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 说人话:就是JAVA对象需要保存或通过网络传输必须保存为二进制才行,所以就需要 ...

  8. 如何查询出一个字段不重复的记录?

    文章已更新,最新地址:http://www.fearlazy.com/index.php/post/133.html 测试环境mysql5.7 现有测试表tb_books(数据库:testdataba ...

  9. MySQL数据库查询 concat 字段合并 身份证 名字手机号脱敏 case when等

    身份证号脱敏: CONCAT(LEFT(ui.idcard,6),'****',RIGHT(ui.idcard,4)) as 身份证号 , 姓名脱敏: CONCAT(LEFT(o.custom_nam ...

最新文章

  1. SCCM部署操作系统失败:MP has rejected a request
  2. 导致甲骨文裁员的原因有哪些?
  3. 〖Linux〗Ubuntu13.10中使用虚拟机对MTK手机进行线刷
  4. centos 7 jenkins安装
  5. C++操作SQLite数据库
  6. linux下达梦数据库启动_linux 平台 达梦DM 7 数据库 启动与关闭
  7. php Heredoc应用说明
  8. scala语言的底层是java实现的_2020了,每个程序员都该学习的 5 种开发语言
  9. jquery出现“为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项...”的解决办法
  10. python定时任务_Python 定时任务最佳实践
  11. 递归、os.walk、内置函数、lambda、hashlib模块、md5加密、python安装第三方模块、操作mysql数据库...
  12. c语言16qam,基于FPGA的高阶QAM调制器的实现
  13. Kubernetes 学习路径
  14. CMMI五个成熟度级别和对应22个过程域(PA)
  15. 微信小程序-WXML-template模板
  16. xlsx文件的多表读取与写入
  17. Java-多线程讲解(2)
  18. 主板aspm关闭_bios关闭acpi的方法步骤图文详解
  19. Linux 定时任务shell脚本定时移动服务器日志文件到指定目录下
  20. 测开高阶技术- Docker/环境布置/容器 讲清楚了,全套教程

热门文章

  1. 编曲录音宿主软件-Cubase Elements 11 v11.0.30 WiN 元素版
  2. 电商专题-电商项目开发规模
  3. 【大数据开发】大数据开发的一些基本概念
  4. ARM和neon指令集
  5. Makefile文件名称
  6. Shiro权限控制+整合shiro
  7. 点云公开数据集:S3DIS
  8. 数据库如何修改编码格式?
  9. Python实现判断变量类型
  10. mysql如何加索引的时候不锁表