看个实际例子:将表test中的userName重复的记录删掉:
上面的例子不太全面有bug,因为如果userName相同但是height不同的话会被误删。所以应该这样:
********************************************************************************************
mysql> select * from duplicate;
+----+-------+
| id | name |
+----+-------+
| 1 | wang |
| 2 | wang |
| 3 | wdang |
| 4 | wdang |
| 5 | wdand |
| 6 | wddda |
+----+-------+
6 rows in set (0.00 sec)
select * from duplicate where id in(select min(id) from duplicate group by name);
+----+-------+
| id | name |
+----+-------+
| 1 | wang |
| 3 | wdang |
| 5 | wdand |
| 6 | wddda |
+----+-------+
4 rows in set (0.01 sec)
+----+-------+
| id | name |
+----+-------+
| 1 | wang |
| 2 | wang |
| 3 | wdang |
| 4 | wdang |
| 5 | wdand |
| 6 | wddda |
+----+-------+
6 rows in set (0.00 sec)
select * from duplicate where id in(select min(id) from duplicate group by name);
+----+-------+
| id | name |
+----+-------+
| 1 | wang |
| 3 | wdang |
| 5 | wdand |
| 6 | wddda |
+----+-------+
4 rows in set (0.01 sec)
mysql> delete from duplicate where id not in(select min(id) from duplicate group by name);
ERROR 1093 (HY000): You can't specify target table 'duplicate' for update in FROM clause
ERROR 1093 (HY000): You can't specify target table 'duplicate' for update in FROM clause
错误原因:
mysql中不能这么用。 (等待mysql升级吧) 错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中) 替换方案: create table tmp as select min(id) as col1 from blur_article group by title; delete from blur_article where id not in (select col1 from tmp);
相关推荐
根据给定文件的信息,本文将围绕“去除重复数据”这一主题进行深入探讨,重点解析一个简单易懂且适用性广的去重算法,并通过具体的代码示例来展示其实现过程。 ### 去除重复数据的基本概念 在计算机科学中,“去除...
ORACLE 删除重复数据 在 ORACLE 数据库中,删除重复数据是一项常见的操作。重复数据的存在可能会导致数据不一致、查询效率下降等问题。今天,我们将介绍三种删除重复数据的方法,并对每种方法的执行时间进行比较。 ...
SQL Server 删除重复数据 SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句...
"易语言学习进阶去除重复数据源码"这个标题表明,我们将会探讨如何在易语言中处理数据源,特别是如何去除其中的重复项,这对于数据处理和分析来说是一项基本但重要的技能。 在编程中,数据源通常指的是存储数据的...
在Oracle数据库中,删除重复数据是一项常见的数据清洗任务,尤其当表设计不当时,重复数据可能导致数据不一致和分析错误。以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。...
"数据库查询删除重复数据" 数据库查询删除重复数据是数据库管理中的一项重要操作,旨在查找和删除表中的重复记录。重复记录是根据单个字段或多个字段来判断的。下面介绍几种查找和删除重复记录的方法。 根据单个...
在Oracle SQL中,删除重复数据并保留最新日期的实例是一个常见的数据清理任务,尤其是在具有历史记录或事务数据的数据库中。这个实例展示了如何通过SQL查询有效地处理这种情况。在这个例子中,我们有一个名为`abc`的...
### Oracle 下删除重复数据的方法及分析 #### 一、部分字段重复数据的处理 ##### 查询重复数据 在Oracle数据库中,经常会遇到表中存在部分字段重复的情况。为了找到这些重复的记录,我们可以使用以下SQL语句: `...
### ORACLE去除重复数据方法 在数据库管理与维护过程中,数据重复问题是非常常见的现象,尤其在大型企业级应用中更是如此。重复数据不仅占用存储空间,还可能导致数据分析结果出现偏差,影响业务决策的准确性。因此...
### Oracle数据库删除重复数据的方法 在Oracle数据库管理中,处理重复数据是一项常见且重要的任务。重复数据不仅会占用额外的存储空间,还可能导致数据分析时出现偏差。因此,掌握如何有效地识别并删除这些重复记录...
5. **删除重复数据**:在确认了要删除的重复记录后,可以使用Access的“删除查询”功能来移除它们。但请注意,删除操作是不可逆的,因此在执行前务必备份数据。 6. **自动化过程**:如果经常需要进行此操作,可以...
因此,掌握如何在Excel中删除重复数据是一项非常实用且重要的技能。 ### 标题:Excel中删除重复数据 #### 知识点一:手动删除重复数据 1. **选择数据范围**:首先选中包含重复数据的列或整个数据区域。 2. **使用...
oracle 删除重复数据的几种方法 在 Oracle 中,删除重复的数据是一种常见的操作。delete 操作可以用来删除重复的数据,但是需要根据实际情况选择合适的方法。下面将介绍四种删除重复数据的方法,每种方法都有其优...
去除重复数据是指从链表中删除重复的元素,例如,如果链表中有多个相同的元素,只保留一个。去除重复数据可以使用多种算法,例如哈希表算法、排序算法等。在本例中,我们使用了一种简单的算法来去除重复数据。 下面...
### SQL Server删除重复数据的方法 在数据库管理过程中,经常会遇到需要清理重复数据的情况。重复数据不仅浪费存储空间,还可能导致数据分析结果出现偏差。对于SQL Server而言,有多种方法可以用来删除重复的数据,...
Excel 2021 删除重复数据项 在 Excel 2021 中,删除重复数据项变得更加方便和快捷。下面是相关知识点的详细解释: 1. 删除重复数据项的重要性 在数据分析和处理过程中,删除重复数据项是一项非常重要的步骤。重复...
### PL/SQL删除Oracle数据库中的重复记录方法详解 ...通过上述步骤,你可以有效地识别并删除Oracle数据库中的重复记录,从而保持数据的一致性和准确性。这种方法不仅适用于简单的场景,对于复杂的业务环境也同样适用。
### 基于MD5算法的重复数据删除技术的研究与改进 #### 一、引言 随着信息技术的迅速发展,企业对于数据的需求日益增长。在信息化时代,数据被视为企业的核心资产,不仅对于日常运营至关重要,同时也是企业进行战略...
Excel 中去除重复数据的多种方法 Excel 是一个非常强大和普遍使用的电子表格软件,它提供了许多实用的功能来帮助用户处理和分析数据。其中,去除重复数据是一个非常重要和常用的操作。本文将详细介绍多种在 Excel ...