oracle在没
2015-09-05 20:55
441 查看
db_user表中数据: name age nub 张三 13 13 张三 12 12 张三 12 13 张三 12 13 李四 12 12 李四 12 12 查询重复数据(一条) sql:select * from db_user group by name,age,nub having count(*)>1; (需统计条数conut) 查询出的结果 name age nub 张三 12 12 李四 12 13 查询重复记录(所有) sql: select * from db_user a where (a.name,a.age,a.nub) in (select * from db_user group by name,age,nub having count(*)>1); 查询结果: name age nub 张三 12 13 张三 12 13 李四 12 12 李四 12 12 删除重复记录保留一条 步骤: 1.将查询的数据插入一个新的表中; 2.删除原来的表的数据 3.将新表的数据再插入原表中 4,删除新表 sql: 1. create table new_table as( select * from db_user group by name,age,nub having count(*)>1 ); 2. delete from db_user a where (a.name,a.age,a.nub) in (select * from db_user group by name,age,nub having count(*)>1 ); 不能对同一表子查询后进行插入或者删除 要在子查询再嵌套一个查询 让对该表查询成为孙查询; 3.insert into db_user (select name,age,nub from new_table); 4.drop table new_table; 到此完成操作 最后的数据:
相关文章推荐
- oracle数据文件被误删除后无法启动数据库的解决办法
- 在oracle官网下载javaee等api离线文档
- Oracle安装介质及补丁集下载地址
- oracle 9i 10g 11g安装文件及补丁集下载地址 全版(备用)
- RAC启动和关闭(oracle 11g)
- linux 安装oracle 11g R2 11.2.0.3
- oracle date 和 timestamp区别
- mysql,sql server,oracle 唯一索引字段是否允许出现多个 null 值?
- 解决Oracle EBS出报表不可复制问题
- 如何面对客户评价Oracle EBS界面难看,不符合操作习惯
- Oracle 10g
- yum安装lamp+discuz
- ORACLE11G_win32监听程序不支持服务
- mysql和oracle的横表与纵表转换
- winsql连接ORACLE数据库
- 运行于64操作系统上的C#客户端通过WCF访问Oracle数据库不兼容问题
- Oracle 11g+oracle客户端(32位)+PL/SQL develepment的安装配置
- Oracle结果集 (MSSQL存储过程写报表)
- oracle11g总结
- oracle中触发器的讲解