首页 > 数据库 > mysql教程 > 删除数据表中的重复数据

删除数据表中的重复数据

WBOY
发布: 2016-06-07 14:58:27
原创
890 人浏览过

删除数据表中的重复数据 示例表结构如下: [sql] MyTable ----------- RowID int not null identity(1,1) primary key, Col1 varchar(20) not null, Col2 varchar(2048) not null, Col3 tinyint not null 解决方法: [sql] DELETE FROM TableName WHERE ID N

删除数据表中的重复数据

 

示例表结构如下:

[sql] 

MyTable  

-----------  

RowID int not null identity(1,1) primary key,  

Col1 varchar(20) not null,  

Col2 varchar(2048) not null,  

Col3 tinyint not null  

解决方法:

[sql] 

DELETE FROM TableName  

WHERE  ID NOT IN (SELECT MAX(ID)  

                  FROM   TableName  

                  GROUP  BY Column1,  

                            Column2,  

                            Column3  

                  /*Even if ID is not null-able SQL Server treats MAX(ID) as potentially  

                    nullable. Because of semantics of NOT IN (NULL) including the clause  

                    below can simplify the plan*/  

                  HAVING MAX(ID) IS NOT NULL)   

如果是复合主键的话,需要把整个子查询放在EXISTS子句中,EXISTS用法如下:

 

[sql] 

DELETE FROM agent1 da    

 WHERE EXISTS(    

  SELECT * FROM  customer cu    

   WHERE grade=3    

     AND da.agent_codecu.agent_code);   

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板