Oracle删除重复的记录
2015-08-05 21:05
495 查看
获取姓名相同的条数>=2的姓名
获取所有这些姓名的ID
找出重复记录中第一条记录的主键
删除重复的记录
select name from Person group by name having count(*)>=2;
获取所有这些姓名的ID
select id from Person where name in (select name from Person group by name having count(*)>=2);
找出重复记录中第一条记录的主键
select min(id) from Person group by name having count(*) >= 2; select min(id), name, count(*) from Person group by name having count(*) >= 2;
删除重复的记录
delete from Person where -- 删除姓名相同数量>=2的数据 id in (select id from Person where name in ( select name from Person group by name having count(*) >= 2)) -- 并且不是第一条 and id not in (select min(id) from Person group by name having count(*) >= 2);
相关文章推荐
- Oracle 树操作(select…start with…connect by…prior)
- 关于Oracle复制一张表和复制表中的一条数据
- 关于Oracle创建表空间和用户
- ORACLE 死锁日志查询
- QT编译oracle驱动
- 查看Oracle执行计划
- oracle数据库注册表信息删除
- oracle 存储过程,存储函数,包
- Oracle数据库导入导出
- Oracle数据库创建表空间
- 关于oracle with as用法
- 利用Oracle DDL触发器实现DDL监控
- linux 在~/.bash_profile配置完oracle每次都要source 才能使用的问题
- Does Oracle really offer any OCI demo/sample programs?
- rman convert 迁移win64位oracle 到linux oracle+asm 手稿
- Oracle递归排序 父子关系排序
- Oracle的递归
- oracle数据库导入导出
- oracle initialization or shutdown in progress解决方法
- Oracle数据库教程RAC常用维护工具和命令