设为首页 加入收藏

TOP

删除数据表中的重复数据
2014-11-23 20:06:35 来源: 作者: 【 】 浏览:18
Tags:删除 数据 重复
删除数据表中的重复数据
示例表结构如下:
[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_code<>cu.agent_code);
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何查询postgreSQL 里面某个数据.. 下一篇Atitit.软件GUI按钮与仪表盘--db..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: