sqlserver中如何删除没有主键的重复数据。
2014-03-06 02:41
351 查看
-----sqlserver中如何删除没有主键的重复数据。
CREATE TABLE TestTable (
Column1 varchar(1),
Column2 int
);
INSERT INTO TestTable VALUES ('A', 1);
INSERT INTO TestTable VALUES ('A', 1); -- duplicate
INSERT INTO TestTable VALUES ('A', 2);
INSERT INTO TestTable VALUES ('B', 1);
INSERT INTO TestTable VALUES ('B', 2);
INSERT INTO TestTable VALUES ('B', 2); -- duplicate
INSERT INTO TestTable VALUES ('C', 2);
SELECT *
FROM TestTable a
ORDER BY a.Column1, a.Column2;
DELETE
FROM TestTable
WHERE TestTable.%%physloc%%
NOT IN (SELECT MIN(b.%%physloc%%)
FROM TestTable b
GROUP BY b.column1, b.Column2);
CREATE TABLE TestTable (
Column1 varchar(1),
Column2 int
);
INSERT INTO TestTable VALUES ('A', 1);
INSERT INTO TestTable VALUES ('A', 1); -- duplicate
INSERT INTO TestTable VALUES ('A', 2);
INSERT INTO TestTable VALUES ('B', 1);
INSERT INTO TestTable VALUES ('B', 2);
INSERT INTO TestTable VALUES ('B', 2); -- duplicate
INSERT INTO TestTable VALUES ('C', 2);
SELECT *
FROM TestTable a
ORDER BY a.Column1, a.Column2;
DELETE
FROM TestTable
WHERE TestTable.%%physloc%%
NOT IN (SELECT MIN(b.%%physloc%%)
FROM TestTable b
GROUP BY b.column1, b.Column2);
相关文章推荐
- MSSQL如何在没有主键的表中删除重复数据
- MSSQL如何在没有主键的表中删除重复数据
- 删除没有主键的表中的重复数据
- sqlserver 表查询锁与解锁以及删除重复数据(主键不同,其他数据都相同的数据)
- 错误修正:多行所有数据重复,无法更新或删除问题,通常是在没有主键的情况下的表.
- sqlserver中多行所有数据重复,无法更新或删除问题,通常是在没有主键的情况下的表
- 如何高效删除Oracle数据库中的重复数据
- 如何用sql语句查询和删除表中重复数据
- SQL 已更新或删除的行值要么不能使该行成为唯一行(sqlserver中有多行所有的列重复的数据,无法更新或删除问题)
- ZT: Oracle 中如何删除重复数据
- 【mysql】sql删除多个字段重复数据有主键和没主键解决方法
- Oracle中如何删除重复数据
- 在Mysql和Oracle中如何删除字段中的重复数据
- oracle中如何删除重复数据
- 如何高效删除Oracle数据库中的重复数据
- 如何使作为主键的字段出现重复数据?
- 如何从一个表中随机地取出20 条不重复的数据? 主键是Id
- sqlserver 2008 R2 删除重复数据
- 在Windows Server 2012 R2如何安装重复数据删除功能
- Oracle中如何删除重复数据