`
starbhhc
  • 浏览: 658401 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

DB2删除重复记录的五种情况

 
阅读更多

DB2删除重复记录方法和其他数据库系统有何不同呢?下文为您列举了五种DB2删除重复记录的情况,希望对您有所启迪  。

  1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

  select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

  2、DB2删除重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)

  3、查找表中多余的重复记录(多个字段)

  select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

  4、DB2删除重复记录(多个字段),只留有rowid最小的记录

  delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

  5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

  select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

 

  6. 处理bas_information中去重,根据t.PISField001,t.PISField011,t.areaCode
export to e:/bas_information.txt of del select s.HOUSEHOLDS, s.PISFIELD000, s.PISFIELD001, s.PISFIELD002,
    s.PISFIELD003, s.PISFIELD004, s.PISFIELD005, s.PISFIELD006, s.PISFIELD011,
    s.PISFIELD012, s.PISFIELD013, s.PISFIELD014, s.PISFIELD015, s.PISFIELD016,
    s.DEADDATE, s.QIANRUDATE, s.ZHIYE, s.JIATING, s.AREACODE, s.REG_DATE,
    s.ISLOGOUT from (select t.*,rownumber() over(partition by t.PISField001,t.PISField011,t.areaCode) as rn from bas_information t ) s where s.rn = 1;

分享到:
评论

相关推荐

    数据库 查询删除重复数据

    "数据库查询删除重复数据" 数据库查询删除重复数据是数据库管理中的一项重要操作,旨在查找和删除表中的重复记录。...查找和删除重复记录是数据库管理中的一项重要操作,需要根据实际情况选择合适的方法来解决问题。

    db2 常用命令集合

    - `db2 import to c:\dftz.ixf of ixf commitcount 5000 replace into dftz`:从`c:\dftz.ixf`文件导入数据到表`dftz`,当遇到重复键时,用新数据替换旧数据。 - `db2 import to c:\dftz.ixf of ixf commitcount ...

    DB2 常用技术参考.doc

    UNION会去除重复记录,而UNION ALL则保留所有记录,不进行去重操作。 7. **EXCEPT ALL的使用**: EXCEPT ALL用于找出第一个表中但不在第二个表中的所有记录,即使这些记录在第一个表中有重复。 8. **INTERSECT的...

    db2数据库面试问题

    文件是存储数据的一种形式,记录则是文件中数据的基本单位。两者之间的关系主要体现在记录是文件的组成部分,文件由一个或多个记录组成。 #### 5. ER图案例分析 文中给出了一个具体的ER图设计案例,描述了一个企业...

    DB2使用经验积累PDF

    #### 五、其他系统和DB2的交互 - **DELPHI中从DB2取BIGINT的数据**:在DELPHI中使用合适的驱动程序和数据类型映射来处理从DB2获取的大整型数据。 #### 六、DB2表及SP管理 - **权限管理**: - **数据库权限控制**...

    DB2 数据库日常操作

    - `MODIFIED BY delPriorityChar`:指定优先级字符用于处理重复记录,即如果表中存在相同记录,则新加载的数据将不会被添加。 - `REPLACE INTO`:意味着如果表中有相同的记录,则会被替换。 - `NONRECOVERABLE`:...

    ORACLE转DB2对照全解

    **注意:** Oracle和DB2都支持使用`DISTINCT`关键字来去除重复值。 #### 十八、Null值转换 **Oracle:** ```sql SELECT NVL(col, default_val) FROM table; ``` **DB2:** ```sql SELECT COALESCE(col, default_...

    db2新手快速入门教程

    IBM DB2(Database 2)是一种先进的关系型数据库管理系统(RDBMS),由IBM开发,适用于各种操作系统,如Windows、UNIX、Linux等。DB2 Universal Database(UDB)是其核心产品,提供了一套完整的信息管理解决方案,...

    数据库查询排除重复记录的方法

    因此,在实际应用中,我们应尽可能优化查询,比如通过索引来提高效率,或者在数据录入时就避免产生重复记录。 此外,虽然`DISTINCT`是SQL标准的一部分,但在不同的数据库管理系统(如MySQL, PostgreSQL, Oracle, ...

    db2定时任务 使用说明

    db2定时任务为DBA和开发人员提供了一种灵活、高效的方式来自动化数据库管理和数据处理流程。通过合理规划和配置,可以显著提高数据库的运维效率和数据处理能力,减少人为操作带来的风险。理解并掌握db2定时任务的...

    DB2课件

    DB2还支持审计功能,可以记录对数据库的访问行为。 最后,DB2的备份与恢复策略是保证数据完整性和可用性的重要环节。IBM提供了多种备份和恢复选项,包括完整备份、增量备份和差异备份,以及快速恢复技术如日志重放...

    DB2使用经验积累及心得

    - **CONTAINER(容器)**:在DB2中用来组织和管理文件空间的一种逻辑结构,可以包含一个或多个文件系统目录。 - **DRDA**:Distributed Relational Database Architecture(分布式关系数据库架构),用于实现不同...

    DB2手册pdf

    **DB2管理服务器**是一种用于集中管理和监控DB2环境的服务。它提供了统一的接口来管理多个DB2实例和数据库。通过管理服务器,管理员能够进行配置、监控、维护和故障排除等操作。DB2管理服务器支持多种管理工具,包括...

    DB2实用教程

    DB2支持四种隔离级别:读未提交、读已提交、可重复读和串行化,以适应不同应用的需求。 安全性是DB2的重要组成部分,包括用户认证、权限管理和审计。用户通过用户名和密码登录,DB2提供角色机制来简化权限管理。...

    编程(db2)使用技巧

    与Sybase或Oracle不同,DB2的临时表在会话结束时自动删除,因此适合于存储临时数据,但不适用于跨会话的数据存储。 #### 1.3 获取当前行 在DB2中,获取当前行可以通过`FETCH FIRST`子句实现。例如: ```sql SELECT...

    DB2编程基础DB2编程基础DB2编程基础

    建议在创建临时表时使用 `WITH REPLACE` 选项,这样可以自动删除已存在的临时表,避免重复创建引发的错误。 3. **获取数据的前几条记录**: - 要选取数据表中的第一条记录,可以使用 `FETCH FIRST N ROWS ONLY` ...

    DB2数据库离线和在线全备、增量备份及恢复的具体操作步骤.

    - 另一种增量备份方式为DELTA备份,使用命令`db2backupdbsampleonlineincrementaldeltausetsm`。 - DELTA备份类似于Oracle中的INCREMENTAL备份,而常规的增量备份则类似于Oracle中的CUMULATIVE备份。 4. **多节点...

    DB2 SQL 精萃.pdf

    `UNION` 用于合并两个或多个 SELECT 语句的结果集,但会去除重复行。例如: ```sql (SELECT name FROM employees WHERE age > 30) UNION (SELECT name FROM interns WHERE age > 25); ``` 这个例子中,结果集包含了...

    DB2性能安全文件

    在DB2中,默认情况下删除数据并不会立即释放空间。这是因为DB2采用了空间回收机制,删除数据后仅标记为可用状态,而不是立即释放。 **解决方案:** 在删除或压缩表之前,应先执行`REORG`命令来整理表空间,以便后续...

    DB2错误码大全

    DB2错误码通常由一个五位数字(SQLCODE)和一个五字符的字符串(SQLSTATE)组成,其中SQLCODE为正数时表示警告,负数表示错误;SQLSTATE则是用于更细致地分类错误类型的标准代码。以下是一些常见的DB2错误码及其含义...

Global site tag (gtag.js) - Google Analytics