查询及删除重复记录的SQL语句
 
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断
 
select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1)
 
2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
 
DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);
 
3、查找表中多余的重复记录(多个字段)
 
select * from 表 a where (a.Id,a.seq) in(select Id,seq from 表 group by Id,seq having count(*) > 1)
 
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
 
delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)
 
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
 
select * from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)

Oracle 数据操作的更多相关文章

  1. .net链接Oracle数据操作类库

    public abstract class OracleHelper { public OracleHelper() { } /// <summary> /// 数据库连接字符串 /// ...

  2. 2018.5.19 Oracle数据操作和管理表的综合练习

    --作业一.使用自己的用户登录,完成如下操作,并且创建5条测试数据 -- 创建学生表(stu),字段如下: -- 学号(stuID) -- 姓名(stuName) -- 性别(stuSex) -- 入 ...

  3. Oracle.数据的增删改、表操作(创建,修改,删除)、数据类型

    SELECT ename,dname FROM emp,dept WHERE emp.deptno=dept.deptno; SELECT dname,loc FROM dept; SELECT JO ...

  4. 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)

    今天操作Oracle数据库时,做一个Update数据时,不小心少写了个where,看这粗心大意的. 于是乎,把所有的员工工号都给更新成一个同一个工号了.这是一个悲催的故事. 因为工号是Check了好多 ...

  5. 转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)

    如何操做不在同一个数据库中的数据操作: 一.对于SQL server来讲:  1.采用创建链接服务器的方式:    (1).创建链接服务器       exec sp_addlinkedserver  ...

  6. Oracle数据迁移至HBase操作记录

    Oracle数据迁移至HBase操作记录 @(HBase) 近期需要把Oracle数据库中的十几张表T级别的数据迁移至HBase中,过程中遇到了许多苦难和疑惑,在此记录一下希望能帮到一些有同样需求的兄 ...

  7. Oracle误操作--被提交后的数据回退(闪回)

    由于一时的粗心,在做update操作时,忘记了加where条件,导致全表数据被修改.此类错误实属不该!!特此记录一下!! 网上搜索Oracle数据回退操作,介绍如下: 闪回级别 闪回场景 闪回技术 对 ...

  8. ORACLE链接SQLSERVER数据库数据操作函数范例

    ORACLE链接SQLSERVER数据库数据操作函数范例 create or replace function FUN_NAME(LS_DJBH IN varchar2 ,LS_ITM varchar ...

  9. Oracle基础(十) DML数据操作

    一.DML数据操作语言 主要用于检索.插入和修改数据库信息.它是最常用的SQL命令,如INSERT(插入).UPDATE(更新).SELECT(选择).DELETE(删除). 1.INSERT插入语句 ...

随机推荐

  1. Ftp软件

    http://www.xlightftpd.com/cn/index.htm FileZilla Server官网:http://www.filezilla-project.org/

  2. Python之路【第七篇续】:I/O多路复用

    回顾原生Socket 一.Socket起源: socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用[打开][读写][关闭]模式来操作. socket就是该模式的 ...

  3. 采用ETL with RDBMS模式来实现ETL

    目前Teradata数据仓库的ETL作业采用ELT方式, 因为loading太重了, 需要将ETL压力转移到专门的ETL Server上. 对于ETL工具, 市场上已有很成熟的商业/开源工具, 比如I ...

  4. HTML中head头结构

    HTML head 头部分的标签.元素有很多,涉及到浏览器对网页的渲染,SEO等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性.移动互联网时代,head 头部结构 ...

  5. mysql 总结一

    mysql 总结一 数据类型(四类): 整型(5种:tinyint,smallint,mediumint, int(或integer),bigint ): 浮点型:(float,double), 日期 ...

  6. Python网络socket学习

    Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...

  7. Visual Studio 各种版本的快捷键总结

    下列快捷组合键可在工具和文档窗口中用于进行移动.关闭或导航. 命令名 快捷键 说明 视图.全屏 SHIFT + ALT + ENTER 在打开和关闭之间切换“全屏”模式. 视图.向后定位 CTRL + ...

  8. leofs存储总结

    1.leofs角色 Account(账户).Bucket(对象桶).Object(对象), gateway.manager0.manager1.storage Account 一个account可以创 ...

  9. 安卓手机当Mac、Win和Linux外置WIFI网卡

    Android手机都有USB共享网络的功能 ,利用此功能可以将网络共享给电脑 基本原理: 手机连接WIFI,开启USB网络共享,mac笔记本上网 (两款手机示意图) 博主实践证明: win10与Ubu ...

  10. javascript高级程序设计---Event对象三

    进度事件 进度事件用来描述一个事件进展的过程,比如XMLHttpRequest对象发出的HTTP请求的过程.<img>.<audio>.<video>.<st ...