`

oracle去除重复记录,高效方法

阅读更多

企业信息表中有52万条数据,其中有16万多条是重复记录,根据组织机构代码,工商注册号,企业名称判断,

现在要删除重复记录,保留最新一条记录,使用rowid进行删除,非常高效。

 

delete from qiyeinfo a
where a.rowid !=
(
select max(b.rowid) from qiyeinfo b
where a.qiyemc = b.qiyemc and
a.zuzhijigoudaima = b.zuzhijigoudaima
and a.gongshangzhucehao = b.gongshangzhucehao
)

分享到:
评论

相关推荐

    oracle中如何删除重复数据

    以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。 一、部分字段重复数据的删除 1. 查询重复数据: 使用`GROUP BY`和`HAVING`子句可以找出具有相同值的字段组合。例如,...

    plsql删除重复记录

    ### PL/SQL删除Oracle数据库中的重复记录方法详解 在日常的数据库管理与维护工作中,我们经常会遇到需要处理数据表中的重复记录的情况。特别是在大型企业级应用中,由于各种原因(如数据导入错误、系统故障等),...

    oracle去重复

    ### Oracle去除重复数据详解 在Oracle数据库中,去除重复数据是一项常见的需求,特别是在处理大量数据时,为了确保数据准确性和一致性,去除重复记录至关重要。本文将详细介绍如何利用`ROW_NUMBER()`函数来有效地...

    Oracle中用Rowid查找和删除表中的重复记录

    使用`DISTINCT`关键字可以返回去除重复后的记录,但这种方法只能用于查看数据,无法直接获取重复记录。 3. **Rowid与Subquery** ```sql SELECT * FROM cz a WHERE ROWID = (SELECT MAX(ROWID) FROM cz WHERE c1 ...

    oracle字段去重

    因此,去除重复记录是数据库管理中的一个重要环节。Oracle数据库提供了多种方法来实现字段级别的去重。 #### 二、去重需求分析 根据提供的描述“oracle字段去重 以某一个字段去重”,可以理解为在某个表中基于特定...

    Oracle培训记录(最终版)

    - **编写基本的SQL SELECT语句**:学习如何构建SQL查询,包括使用`SELECT`语句从数据库中检索数据,了解`DISTINCT`关键字用于去除重复行,以及如何使用`LIKE`、`IN`、`BETWEEN`等条件来过滤数据。 - **限制和分类...

    oracle快速删除重复的记录

    当表中出现重复记录时,我们需要高效且安全地去除这些重复项,尤其在生产环境中,对系统的性能和稳定性要求极高。 1. **创建临时表**: 这个方法涉及到创建一个新的临时表,将数据导入临时表,清空原表,然后将...

    oracle常用的数据库脚本

    在Oracle数据库管理中,脚本是执行特定任务的SQL或PL/SQL集合,它们极大地提高了DBA(数据库管理...在实际工作中,结合《oracle去除重复记录的方法.docx》文档中的详细步骤和示例,将有助于进一步理解和应用这些概念。

    oracle基础的文档 熟悉oracle的对象

    - **去除重复数据**:默认情况下,SQL会返回所有匹配的行,但DISTINCT关键字可以去除重复的值,如`SELECT DISTINCT stu_age FROM stu`。 - **表达式查询**:在SELECT语句中,可以使用算术运算符和逻辑运算符来构造...

    Oracle数据库SQL优化总结

    7. **删除重复记录**:使用ROWID进行删除,可以高效去除重复行。 8. **使用TRUNCATE替代DELETE**:TRUNCATE用于清空表,它比DELETE更高效,因为不涉及回滚信息,但请注意,TRUNCATE是DDL,不可恢复。 9. **频繁...

    优化sql语句提高oracle执行效率(34种方法).docx

    8. **删除重复记录**:使用 ROWID 进行删除操作,例如使用 DELETE 语句结合子查询,可以高效地去除重复记录。 9. **使用 TRUNCATE 替换 DELETE**:TRUNCATE 命令用于清空表,其速度快于 DELETE,因为不涉及回滚段,...

    oracle讲义

    还包含了对特定值的查询、NULL值的处理、列别名的应用、去除重复行、使用LIKE进行模糊查询、使用ORDER BY进行排序、以及字符串、数字、日期等数据类型的函数操作。此外,还学习了如何使用分支函数、分组统计函数、...

    Oracle高级sql学习与练习

    UNION和UNION ALL用于联合多个结果集,不同之处在于UNION ALL会将所有结果包括重复项,而UNION则会自动去除重复的结果。INTERSECT用来返回两个查询结果集的交集,而MINUS则返回第一个查询结果集相对于第二个查询结果...

    数据库删除完全重复和部分关键字段重复的记录

    注意,Oracle的`ROWID`是行的物理地址,可以高效地标识并删除重复记录。在MySQL和SQL Server中,由于没有内置的`ROWID`机制,需要借助额外的`autoID`字段来实现。 总结来说,处理数据库中的重复记录是数据管理的...

    一种基于重复数据删除的Oracle数据库备份系统.pdf

    在灾难恢复中心,建立一个哈希表来记录已存储数据块的指纹,通过对比指纹值来检测和去除重复数据。这种技术可以显著减少备份数据的体积,降低存储需求,同时减少了备份数据在网络中的传输量。 【安全机制】为了保障...

    oracle查询效率

    7. **删除重复记录**:使用ROWID进行删除操作,如示例所示,可以高效地去除重复记录。 8. **用TRUNCATE替代DELETE**:当需要删除整张表时,TRUNCATE比DELETE更快,因为它不涉及回滚段,不支持撤销操作,因此资源...

    oracle学习日志总结

    6. **性能优化策略**:使用`UNION ALL`代替`UNION`去除重复行,使用`TRUNCATE`代替`DELETE`进行大范围删除,因为`TRUNCATE`不需要记录回滚信息,速度快得多。`COUNT(1)`通常比`COUNT(*)`更快,因为计算单个列的计数...

    oracle本表去重的语句优化

    面对一个包含一亿条记录,且每个记录只有一个字段`mobile`的`bao_mobile_temp`表,如何高效地去除重复数据,是本文要探讨的核心问题。原始的SQL语句如下: ```sql DELETE FROM bao_mobile_temp a WHERE a.rowid != ...

    Oracle EBS开发文档(form, report)

    - **取不重复的记录行**:通过使用DISTINCT关键字或其他方法,可以有效地去除重复记录。 - **查询具有相同薪水的职工**:通过使用GROUP BY和HAVING子句等,可以找出具有相同薪水的所有职工。 - **统计EBS表数量及...

Global site tag (gtag.js) - Google Analytics