`

删除单表中重复的行

阅读更多
今天在数据表中发现有N多重复的数据,当时就奇怪了。于是找了方法将这些重复的数据删除。下面是操作方案,以免忘记!
1。先通过查询语句确定是否有重复的。
SELECT *FROM (
SELECT bizdate,indexcode ,EXCHANGE ,COUNT(*) cnt
FROM  TD_IND_INDEX  
GROUP BY bizdate,indexcode,EXCHANGE )
WHERE CNT >1

这时,发现查询出来的结果集中会有很多的数据。哎悲剧哇真的有重复的数据,郁闷
2。使用SQL语句将重复的去掉。。
delete from TD_IND_INDEX where id in (
select ID from (
select bizdate,indexcode ,EXCHANGE,count(*) as cnt,max(id) as id  
from TD_IND_INDEX group by bizdate,indexcode ,EXCHANGE 
) c where c.cnt >1 )

哇哈哈,删除了。于是在另一个表中也去执行这个SQL语句。。。发现。。
第二个表中每条重复的数据超过5行,FUCK。。谁搞的哇,然后回头看上面的SQL语句会发现,这个只是每次根据ID删除一次最大的一行。不完美。。。
3。用新的方案。
delete  from TD_IND_INDEX a
where (bizdate,indexcode ,EXCHANGE ) in 
(SELECT bizdate,indexcode ,EXCHANGE from TD_IND_INDEX group by bizdate,indexcode ,EXCHANGE having count(*) > 1)
and ID not in (select min(ID) from TD_IND_INDEX group by bizdate,indexcode ,EXCHANGE having count(*)>1)

恩,这次貌似大功告成了。。。但是。。效率不咋滴。。呵呵
获得所有单列重复的详细数据:
 select * from tuser a 
inner join 
(SELECT address, count(address) cnt from tuser  group by address)b
on a.address=b.address and b.cnt>1


分享到:
评论

相关推荐

    删除表中重复数据sql语句

    这些查询可以帮助我们快速定位到表中哪些行的数据重复了。 2. **删除表中多余的重复记录** - **删除单字段重复记录(保留最小ROWID)** ```sql DELETE FROM people WHERE peopleId IN ( SELECT peopleId ...

    如何删除表中重复数据

    这段代码首先使用`WITH`子句创建一个名为`CTE`的公共表表达式(Common Table Expression),并通过`ROW_NUMBER()`函数对重复行进行编号。`PARTITION BY`指定按哪些字段分组,`ORDER BY`指定分组内排序方式。 2. **...

    Oracle数据库删除表中重复记录的方法三则.txt

    这种方法适用于仅需删除重复记录中的部分行,而保留至少一行的情况。通过比较不同记录的ROWID来确定哪些记录是重复的,并利用子查询找出这些重复记录的最大ROWID,然后将其删除。 **SQL示例代码:** ```sql DELETE...

    删除文本文件中重复行(vb.net)

    本文将详细介绍如何使用VB.NET编程语言来实现从文本文件中删除重复行的功能。该功能主要涉及到以下几个关键概念和技术点: 1. **文件读取与写入**: VB.NET中的文件操作包括打开、读取、关闭文件以及创建新文件等...

    txt文本删除重复行v1.6中文绿色免费版

    txt文本删除重复行软件是一款可以删除重复文件的多功能的txt文档重复行删除工具,除了删除重复行,还有清空、删除空行等小功能,文字编辑工作者们可能会用得到这款重复行删除工具。需要此款工具的朋友们可以前来...

    SQL中如何删除重复行

    SQL中如何删除重复行

    重复行删除程序 (Python 代码)

    可以删除文档中重复的内容,只要是一行一行的,包括词表中重复的词、词组或短语等,以及文章中重复的词、词组、短语、句子、段落等。在 .txt 中操作。

    SQL删除重复行

    本文将详细讨论如何使用SQL语句来删除重复行,分为基于单个字段和多个字段的情况,并提供两种不同的方法。 首先,我们来看基于单个字段删除重复行的情况。假设我们有一个名为`people`的表,其中`peopleId`字段可能...

    perl删除重复行

    perl删除重复行,一行一行读取,如果$temp和$-不等则保留,只能处理连续重复,perl删除重复行,一行一行读取,如果$temp和$-不等则保留,只能处理连续重复,

    Excel宏自动删除重复行

    Excel宏自动删除重复行

    文本文件,删除重复行

    标题"文本文件,删除重复行"提示我们关注的核心是解决大规模文本文件中重复数据的消除问题。 描述中提到,该程序能够在0.3秒内处理含有100万行、100MB大小的文本文件,这展示了其高效的性能。程序采用Pascal语言...

    查询和删除表中重复数据

    删除重复数据是维护数据完整性和准确性的重要步骤。下面介绍几种常见的删除重复数据的方法: #### 1. 删除具有相同 `peopleId` 的重复记录 **示例**: ```sql DELETE FROM people WHERE peopleId IN (SELECT ...

    sql删除表中重复记录方法

    这种方法通过创建两个临时表来辅助删除重复记录的过程。首先,通过`GROUP BY`和`COUNT(*)`函数找出重复的记录,并将这些记录的ID存储到临时表`temp1`中。接着,将不重复的记录也插入到`temp1`中。之后,创建一个新的...

    海鸥txt文本删除重复行 v3.8.zip

    海鸥文本删除重复行软件是一个可以高效率地删除重复行和空行的小工具。是一款Windows操作系统下的简单实用、美观免费的文本删除重复行软件。所有功能集成在同一界面实现,易于操作和使用。而且它是一款绿色软件,...

    plsql删除重复记录

    **ROWID**:在Oracle数据库中,每个表行都有一个唯一的ROWID,它是表行的物理地址。通过比较ROWID,我们可以轻易地找出那些具有相同字段值但不同ROWID的记录,即重复记录。 删除重复记录的SQL语句如下: ```sql ...

    易语言极速删除重复文本行

    首先,我们要理解这个任务的核心目标:从大量文本数据中快速找出并删除重复的行。在描述中提到,通过以数据源方式读入文本,然后使用SQL命令来提取不重复的文本行,这展示了一种高效的处理方法。在易语言中,我们...

Global site tag (gtag.js) - Google Analytics