MySQL根据某一个字段合并重复列
先创建一个测试表
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根据某一个字段合并重复列相关推荐
- MySQL数据库添加一个字段
MySQL数据库添加一个字段 1.添加一个字段 alter table tableName add 列名 数据类型; 2.添加一个字段设置默认值 alter table tableName add ...
- mysql中查询一个字段属于哪一个数据库中的哪一个表的方式
mysql中查询一个字段具体是属于哪一个数据库的那一张表:用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表 --mysql中查询某一个字段名属于哪一个 ...
- mysql表 新增一个字段
mysql表中在指定位置新增一个字段 原表结构,表名number 目的: 在字段numid 后新增一个name字段 alter table number add name varchar(100) c ...
- mysql查询某一个字段是否包含中文汉字
在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT column FROM table WHERE length(column)!=char_leng ...
- mysql如何将多条返回结果的一个字段合并成一条
group_concat(相同的字段名) + GROUP BY (要分组主键): 加了group_concat 和 GROUP BY之后 合并结果集完成
- MySQL 查询表中某字段值重复的数据
MySQL中,查询表(dat_bill_2018_11)中字段(product_id)值重复的记录: SELECT product_id, COUNT(*) AS sumCount FROM dat_ ...
- 集合中的实体类根据一个字段合并_JAVA中序列化与反序列化
一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 说人话:就是JAVA对象需要保存或通过网络传输必须保存为二进制才行,所以就需要 ...
- 如何查询出一个字段不重复的记录?
文章已更新,最新地址:http://www.fearlazy.com/index.php/post/133.html 测试环境mysql5.7 现有测试表tb_books(数据库:testdataba ...
- MySQL数据库查询 concat 字段合并 身份证 名字手机号脱敏 case when等
身份证号脱敏: CONCAT(LEFT(ui.idcard,6),'****',RIGHT(ui.idcard,4)) as 身份证号 , 姓名脱敏: CONCAT(LEFT(o.custom_nam ...
最新文章
- SCCM部署操作系统失败:MP has rejected a request
- 导致甲骨文裁员的原因有哪些?
- 〖Linux〗Ubuntu13.10中使用虚拟机对MTK手机进行线刷
- centos 7 jenkins安装
- C++操作SQLite数据库
- linux下达梦数据库启动_linux 平台 达梦DM 7 数据库 启动与关闭
- php Heredoc应用说明
- scala语言的底层是java实现的_2020了,每个程序员都该学习的 5 种开发语言
- jquery出现“为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项...”的解决办法
- python定时任务_Python 定时任务最佳实践
- 递归、os.walk、内置函数、lambda、hashlib模块、md5加密、python安装第三方模块、操作mysql数据库...
- c语言16qam,基于FPGA的高阶QAM调制器的实现
- Kubernetes 学习路径
- CMMI五个成熟度级别和对应22个过程域(PA)
- 微信小程序-WXML-template模板
- xlsx文件的多表读取与写入
- Java-多线程讲解(2)
- 主板aspm关闭_bios关闭acpi的方法步骤图文详解
- Linux 定时任务shell脚本定时移动服务器日志文件到指定目录下
- 测开高阶技术- Docker/环境布置/容器 讲清楚了,全套教程