首頁 > 資料庫 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板