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

数据表 去重

 
阅读更多

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

SELECT * FROM tb_news1 a 
WHERE (a.Id,a.TITLE,a.SOURCE,a.DATE) IN 
 (SELECT a.Id,a.TITLE,a.SOURCE,a.DATE FROM tb_news1 a GROUP BY a.Id,a.TITLE,a.SOURCE,a.DATE HAVING COUNT(1) > 1)



-- 删除表中多余的重复记录(多个字段),只留有id最小的记录
DELETE FROM tb_news1 a WHERE 
(a.Id,a.TITLE,a.SOURCE,a.DATE) IN 
(SELECT a.Id,a.TITLE,a.SOURCE,a.DATE FROM tb_news1 a GROUP BY a.Id,a.TITLE,a.SOURCE,a.DATE HAVING COUNT(1) > 1)

   AND a.Id NOT IN (SELECT MIN(a.Id) FROM tb_news1 a GROUP BY a.Id,a.TITLE,a.SOURCE,a.DATE HAVING  COUNT(1)>1 )
   
 
 
-- ================ test data ======================
DROP TABLE IF EXISTS tb_news1;
CREATE TABLE tb_news1 (
  Id INT(11) NOT NULL ,
  TITLE VARCHAR(255) DEFAULT NULL COMMENT '标题',
  CONTENT VARCHAR(1000) DEFAULT NULL COMMENT '内容',
  SOURCE VARCHAR(255) DEFAULT NULL COMMENT '新闻来源',
  DATE DATETIME DEFAULT NULL COMMENT '新闻日期'
  -- ,
  -- PRIMARY KEY (Id)
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

INSERT INTO tb_news1 VALUES (1,'谷歌发布Android 4.0.3内核源代码','Google','iteye','2011-12-20');
INSERT INTO tb_news VALUES (2,'谷歌发布Android 4.0.3内核源代码','Google','iteye','2011-12-20');
INSERT INTO tb_news VALUES (3,'Ubuntu 将从用户电脑移除 JDK','Ubuntu ','baidu','2011-12-20');
INSERT INTO tb_news VALUES (4,'谷歌发布Android 4.0.3内核源代码','Google','iteye','2011-12-20');
INSERT INTO tb_news VALUES (5,'Ubuntu 将从用户电脑移除 JDK','Ubuntu ','baidu','2011-12-20');
INSERT INTO tb_news1 VALUES (6,'Ubuntu 将从用户电脑移除 JDK','Ubuntu ','baidu','2011-12-20');
-- 
INSERT INTO tb_news1 VALUES (1,'谷歌发布Android 4.0.3内核源代码','Google','iteye','2011-12-20');
INSERT INTO tb_news1 VALUES (6,'Ubuntu 将从用户电脑移除 JDK','Ubuntu ','baidu','2011-12-20');


SELECT * FROM tb_news1;

-- =================================  
   
   
 -- --- 
 1。用rowid方法
据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:

查数据:
SELECT * FROM table1 a WHERE rowid !=(SELECT MAX(rowid)
FROM table1 b WHERE a.name1=b.name1 AND a.name2=b.name2……)

删数据:
DELETE FROM table1 a WHERE rowid !=(SELECT MAX(rowid)
FROM table1 b WHERE a.name1=b.name1 AND a.name2=b.name2……)

2.group BY方法

查数据:
SELECT COUNT(num), MAX(NAME) FROM student --列出重复的记录数,并列出他的NAME属性
GROUP BY num
HAVING COUNT(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次
删数据:
DELETE FROM student
GROUP BY num
HAVING COUNT(num) >1
这样的话就把所有重复的都删除了。  
   

   
分享到:
评论

相关推荐

    TXT文件数据查重去重工具

    TXT文件数据查重去重工具是采用微软C#语言开发,使用多线程对数据进行查重去重处理,处理100万的数据不到1.5秒,软件界面简洁美观,操作简单,软件大小只有70KB,软件提示友好,比如在操作日志上会实时显示正在处理...

    Python 如何实现字符串与列表等数据的去重 Python源码

    Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码...

    sql数据库表去重实例

    实现数据库表多条件去除重复,在开发项目的过程中遇到类似的问题,所以总了一个例子

    cmd创建用户及表数据去重

    根据提供的标题、描述、标签以及部分内容,我们可以提炼出与“cmd创建用户及表数据去重”相关的几个核心知识点,包括如何在命令行模式下创建数据库用户、导入数据、以及实现表数据去重的方法。 ### 一、CMD命令行...

    MapReduce操作实例-数据去重.pdf

    在这个实例中,我们看到的是一个基于MapReduce的数据去重操作,这个操作在大数据处理中非常常见,尤其是当处理的数据源包含重复记录时。下面将详细解释每个部分的作用。 1. **Mapper类**: 在`DedupMapper`类中,...

    基于Hadoop和HBase的大规模海量数据去重.zip

    在大数据处理领域,基于Hadoop和HBase的大规模海量数据去重是一个常见的需求。Hadoop是Apache开源项目,提供了一个分布式文件系统(HDFS)和MapReduce计算框架,旨在处理和存储海量数据。HBase是建立在Hadoop之上的...

    VBA让Excel数据去重.docx

    在本文档中,我们将讨论如何利用VBA处理Excel数据,特别是进行数据去重的操作。 首先,VBA能帮助我们高效地筛选和处理大量数据。在示例代码中,`CommandButton2_Click`事件处理程序被用来找出特定条件下的数据。在...

    链表去重内容介绍.zip

    与哈希表类似,Set是另一种可以用来辅助去重的数据结构。遍历链表,将每个元素添加到Set中,如果添加失败(即Set中已存在该元素),则忽略。同时,使用一个新的链表记录不重复的元素。这种方法的时间复杂度同样是O(n...

    C语言数据结构实现链表去重的实例

    在数据结构的学习与应用中,链表去重是一个基础而重要的操作。随着编程语言如C语言的普及,链表去重的方法成为许多程序员需要掌握的技能。本文将详细介绍如何使用C语言实现链表去重,并提供一个具体的实例代码,供...

    007_hadoop中MapReduce应用案例_1_数据去重

    在这个"007_hadoop中MapReduce应用案例_1_数据去重"的主题中,我们将深入探讨如何利用MapReduce解决数据去重的问题。这个案例可能涉及到对大数据集进行清洗和预处理,以确保数据的准确性和一致性。 首先,我们来看`...

    RFID数据流近似去重

    ### RFID数据流近似去重的关键知识点 #### 1. 引言与背景 随着信息技术的进步,特别是RFID(Radio Frequency Identification,射频识别)技术的广泛应用,RFID标签成为了收集大量数据的重要手段之一。RFID标签无需...

    oracle本表去重的语句优化

    在Oracle数据库中,进行表内数据去重是一项常见的任务,特别是在处理大量数据时。面对一个包含一亿条记录,且每个记录只有一个字段`mobile`的`bao_mobile_temp`表,如何高效地去除重复数据,是本文要探讨的核心问题...

    Java算法篇-链表去重与合并.pptx.pptx

    在Java算法领域,链表是一种重要...总之,链表去重与合并是数据结构与算法中常见的问题,理解和掌握这些操作对于优化数据处理流程至关重要。在Java中,通过熟练运用链表的特性和算法设计原则,可以实现高效的链表操作。

    适用于Delphi的完整文本数据快速排序去重代码,可以对几百万几千万数据快速处理

    常见的去重方法有哈希表、排序后相邻比较等。在这个Delphi代码中,它可能采用了某种优化的去重策略,比如使用了空间效率高的数据结构,如位向量或平衡二叉搜索树,以减少内存占用,同时保持较高的处理速度。 `Unit1...

    VLOOKUP函数:在Excel中实现数据去重的高效策略

    本文将详细介绍如何使用VLOOKUP进行数据去重,包括函数的语法、使用技巧和实际应用中的代码示例。 VLOOKUP函数是Excel中进行数据去重的强大工具。通过使用辅助列、数组公式和组合其他函数,可以有效地从数据集中去除...

    一种基于云计算的重复数据去重选择方法及装置.pdf

    这种基于云计算的重复数据去重选择方法及装置的提出,为在高动态变化的云环境中进行高效数据去重提供了新的思路,它通过智能地结合系统负载和网络条件来优化去重策略,确保了数据去重过程既高效又不会对其他服务造成...

    海量数据去重的Hash与BloomFilter,bitmap1

    在IT领域,尤其是在大数据处理和分布式系统中,数据去重是一项关键任务。本文将深入探讨两种常用的技术:哈希和布隆过滤器,以及它们在处理海量数据时的应用。 哈希算法是数据去重的基础,它能够将任意大小的数据...

Global site tag (gtag.js) - Google Analytics