MySQL怎么消除重复行
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关MySQL怎么消除重复行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。sql语句/*MySQL 消除重复行的一些方法---Chu Min
千家信息网最后更新 2025年11月08日MySQL怎么消除重复行
这篇文章将为大家详细讲解有关MySQL怎么消除重复行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
sql语句
/*MySQL 消除重复行的一些方法---Chu Minfei---2010-08-12 22:49:44.660--引用转载请注明出处:http://blog.csdn.NET/feixianxxx*/----------------全部字段重复------------------------ --1使用表替换来删除重复项 create table test_1(id int,value int); insert test_1 select 1,2 union all select 1,2 union all select 2,3; --建立一个和源表结构一样的空的临时表 create table tmp like test_1; --向临时表插入不重复的记录 insert tmp select distinct * from test_1; --删除原表 drop table test_1; --更改临时表名为目标表 rename table tmp to test_1; --显示 mysql> select * from test_1;+------+-------+| id | value |+------+-------+| 1 | 2 || 2 | 3 |+------+-------+ --2.添加auto_increment属性列(这个方法只能用于MyISAM或者BDB引擎的表) create table test_1(id int,value int) engine=MyISAM; insert test_1 select 1,2 union all select 1,2 union all select 2,3; alter table test_1 add id2 int not null auto_increment, add primary key(id,value,id2); select * from test_1;+----+-------+-----+| id | value | id2 |+----+-------+-----+| 1 | 2 | 1 || 1 | 2 | 2 || 2 | 3 | 1 |+----+-------+-----+ delete from test_1 where id2<>1; alter table test_1 drop id2; select * from test_1; +----+-------+| id | value |+----+-------+| 1 | 2 || 2 | 3 |+----+-------+-------------------部分字段重复-----------------------1.加索引的方式 create table test_2(id int,value int); insert test_2 select 1,2 union all select 1,3 union all select 2,3; Alter IGNORE table test_2 add primary key(id); select * from test_2; +----+-------+| id | value |+----+-------+| 1 | 2 || 2 | 3 |+----+-------+ 我们可以看到 1 3 这条记录消失了 我们这里也可以使用Unique约束 因为有可能列中有NULL值,但是这里NULL就可以多个了.. --2.联合表删除 create table test_2(id int,value int); insert test_2 select 1,2 union all select 1,3 union all select 2,3; delete A from test_2 a join (select MAX(value) as v ,ID from test_2 group by id) b on a.id=b.id and a.value<>b.v; select * from test_2; +------+-------+| id | value |+------+-------+| 1 | 3 || 2 | 3 |+------+-------+--3.使用Increment_auto也可以就是上面全部字段去重的第二个方法--4.容易错误的方法--有些朋友可能会想到子查询的方法,我们来试验一下 create table test_2(id int,value int); insert test_2 select 1,2 union all select 1,3 union all select 2,3; delete a from test_2 a where exists(select * from test_2 where a.id=id and a.value关于"MySQL怎么消除重复行"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
方法
字段
篇文章
更多
查询
不错
实用
最小
内容
出处
同时
多个
就是
属性
引擎
文章
方式
朋友
目标
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全自查中期报告
前端web怎么提交数据到服务器
软件开发专业创新作业
网页教学软件开发
搜整个数据库的内容
数据库怎么查
学软件开发去哪
ssh如何ping通服务器
建筑设计软件开发实习周记
语言数据库是什么
网络安全的机构
固态盘装数据库安全吗
网络技术经历了电子邮件
东华软件开发工业软件
深圳钱海网络技术有限公司招聘
虹口区创新软件开发网上价格
组态王数据库需要网络吗
268软件开发
乐聘网络技术有限公司地址
中业教育招软件开发聘
战地5怎么精确进入服务器
监控器连不上服务器
一站式网络技术信息推荐
网络安全人员年龄
山西学生网络技术咨询哪个正规
遂宁软件开发哪家好推广
服务器微信好友群
大连金税盘安全接入服务器地址
社交软件开发新报价
数据库安全审计怎么处理