sql 删除重复数据保留一条
2017-10-25 16:19
501 查看
--创建测试表 CREATE TABLE TEST ( DEPTNO NUMBER(2), DNAME VARCHAR(13), LOC VARCHAR(14) ); --插入测试数据 INSERT INTO TEST VALUES(10, 'test1', 'test2'); INSERT INTO TEST VALUES(10, 'test1', 'test2'); INSERT INTO TEST VALUES(20, 'test2', 'test3'); INSERT INTO TEST VALUES(20, 'test2', 'test3'); --查询所有记录 SELECT * FROM TEST; --查询重复的记录 SELECT * FROM TEST WHERE deptno IN( SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1 ) --查询重复记录-1条记录 SELECT * FROM TEST WHERE deptno IN ( SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1 ) AND ROWID NOT IN (SELECT MAX(ROWID) FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1) --删除重复记录,保留一条 DELETE FROM TEST WHERE deptno IN ( SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1 ) AND ROWID NOT IN (SELECT MAX(ROWID) FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1) --删除重复记录,全部删除 DELETE FROM TEST WHERE deptno IN ( SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1 )
相关文章推荐
- 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
- 面试题中经常遇到的SQL题:删除重复数据,保留其中一条
- sql中删除重复行(所有列的数据都是相同的只保留一条数据)
- sql删除重复数据只保留一条
- SQL删除重复数据只保留一条
- oracle 查询重复数据并且删除, 只保留一条数据的SQL语句
- SQL删除重复数据只保留一条
- SQL 删除数据库中重复数据 保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复记录,只保留一条数据。
- SQL循环遍历,删除表里某一列是重复的数据,只保留一条。
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- mysql 删除重复数据只保留一条sql