`
javafan_303
  • 浏览: 957050 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

删除数据库中多字段重复的数据

 
阅读更多
SELECT
	id
FROM
	tablename a
WHERE
	(a.stu_id, a.tea_id) IN (
		SELECT
			stu_id,
			tea_id
		FROM
			tablename
		GROUP BY
			stu_id,
			tea_id
		HAVING
			count(*) > 1
	)
AND id NOT IN (
	SELECT
		min(id)
	FROM
		tablename
	GROUP BY
		stu_id,
		tea_id
	HAVING
		count(*) > 1
)

   通过上面语句能找出来数据库中stu_id,tea_id字段重复的数据,如果数据库中有3条重复的数据,这里将筛    选出来2条重复的数据,数据库中保留了一条最小id的数据。

   表结构事例如下

CREATE TABLE `tablename` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `stu_id` bigint(20) NOT NULL DEFAULT '0',
  `tea_id` bigint(20) NOT NULL DEFAULT '0',
  `add_time` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '添加时间',
  PRIMARY KEY (`id`),
  KEY `tea_id` (`tea_id`),
  KEY ` stu_id` (`stu_id`)
)

 

分享到:
评论

相关推荐

    删除数据库中重复的数据(只保留一条)

    在数据库管理过程中,经常会遇到需要清理数据的情况,其中一种常见需求就是删除数据库中的重复记录,同时确保每条数据的关键字段只保留一条记录。这种操作在维护数据一致性、提高查询效率等方面具有重要意义。根据...

    删除Access数据库中重复的数据

    删除Access数据库中重复数据的过程可以分为以下几个步骤: 1. **选择要清理的表**:首先,你需要确定哪个表需要进行重复数据清理。这通常基于表中特定列的重复性,例如主键列或其他关键信息列。 2. **确定重复标准...

    易语言数据库检查重复字段模块

    "易语言数据库检查重复字段模块"提供了一种高效的方法,用于检测和处理数据库中的重复数据,以保证数据的完整性和一致性。本文将深入解析这个模块的功能、原理以及在实际应用中的操作步骤。 易语言,作为一种简洁...

    如何高效删除Oracle数据库中的重复数据

    ### 如何高效删除Oracle数据库中的重复数据 在Oracle数据库管理中,经常会出现因各种原因导致的数据重复问题。这些重复数据不仅占用存储空间、降低查询效率,还可能导致数据分析时出现错误的结果。因此,学会如何...

    查询重复数据sql语句

    在数据库管理过程中,查询重复数据是一项非常重要的任务。这不仅有助于确保数据的准确性和完整性,还可以提高数据分析的质量。本文将详细介绍如何使用SQL语句来查询表中的重复数据,并基于提供的SQL示例进行深入分析...

    怎样删除数据库中重复记录

    删除数据库中重复记录是数据库管理中一个常见的问题,特别是在数据量庞大的时候。今天,我们将讨论删除数据库中重复记录的经典方法,包括使用 SQL 语句和其他技巧。 查找表中多余的重复记录 要删除数据库中重复...

    数据库 查询删除重复数据

    数据库查询删除重复数据是数据库管理中的一项重要操作,旨在查找和删除表中的重复记录。重复记录是根据单个字段或多个字段来判断的。下面介绍几种查找和删除重复记录的方法。 根据单个字段查找和删除重复记录 可以...

    实例介绍删除数据库中重复数据的几个方法

    ### 实例介绍删除数据库中重复数据的几个方法 在数据库管理过程中,删除重复记录是一项常见的需求,特别是当数据库中存在大量的冗余数据时,这不仅浪费存储空间,还可能导致查询性能下降以及数据的一致性问题。本文...

    删除数据库中的重复记录

    在Access这样的关系数据库管理系统中,利用SQL查询和内置功能可以有效地管理和清理重复数据。在实际操作中,始终建议先备份数据,以免发生意外。同时,优化数据模型和实施数据验证策略是防止重复数据的根本途径。

    删除表中重复数据sql语句

    - **多字段重复数据查询** ```sql SELECT * FROM vita_ea WHERE (a.peopleId, a.seq) IN ( SELECT peopleId, seq FROM vita_ea GROUP BY peopleId, seq HAVING COUNT(*) > 1 ) ``` 这些查询可以帮助我们...

    易语言数据库检查重复字段模块源码.rar

    这个模块源码提供了这样的功能,通过分析和比较数据库中的字段,找出重复的数据,并提供相应的处理策略。 源码中可能包含了以下关键知识点: 1. 数据库接口:易语言支持多种数据库接口,如ODBC、ADO等,用于连接和...

    Oracle数据库表建立字段唯一性的方法

    在Oracle数据库中,确保表中特定字段具有唯一性是数据完整性的重要方面。这可以通过创建唯一约束或唯一索引来实现。以下是对"Oracle数据库表建立字段唯一性方法"的详细解释: 1. **唯一约束(Unique Constraint)**...

    一条SQL清除(单字段、多字段)重复数据的办法.txt

    而对于多字段重复数据,则是基于多个字段的组合值进行判断。 ### SQL清除重复数据的方法 #### 1. 单字段重复数据的清除 对于单字段重复数据的清除,可以使用以下SQL语句: ```sql DELETE FROM table_name WHERE ...

    删除数据库中重复数据的几个方法.docx

    在数据库管理中,删除重复数据是一个常见的需求,尤其是在SQL Server这样的关系型数据库中。以下是一些删除重复数据的方法: 1. **方法一**:通过游标处理 这个方法使用游标遍历主字段并计算每个主字段的重复次数...

    删除数据库中重复数据的几个方法.pdf

    在SQL Server中,删除数据库中的重复数据是一项常见的需求,特别是在数据清理和优化的过程中。本文将介绍两种主要的方法来处理这种情况。 方法一: 这种方法利用游标(cursor)来处理重复数据。首先,声明两个变量`...

    oracle中如何删除重复数据

    一、部分字段重复数据的删除 1. 查询重复数据: 使用`GROUP BY`和`HAVING`子句可以找出具有相同值的字段组合。例如,如果要检查`字段1`和`字段2`的重复数据,可以运行以下查询: ``` SELECT 字段1, 字段2, COUNT...

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

    在Oracle数据库管理中,经常会遇到需要处理表中的重复数据的情况。重复数据不仅会占用不必要的存储空间,还可能导致数据统计错误或业务逻辑混乱等问题。因此,掌握如何有效地删除Oracle数据库表中的重复记录是一项...

    sqlServer删除重复数据

    SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句、使用自动生成的标识符、...

    oracle数据库各种删除重复数据方法

    本文将详细介绍几种在Oracle数据库中删除重复数据的有效方法。 #### 方法一:基于ID删除重复行 此方法适用于只需要考虑单一字段(如ID)的情况,通过找出具有相同ID但非最小ROWID的记录来进行删除。 **SQL语句:*...

    oracle 查询重复数据

    在数据库术语中,重复数据通常指的是在数据集中存在一个或多个字段完全相同的记录。这种现象可能由数据录入错误、系统故障、数据导入问题或业务流程设计不当等原因造成。重复数据不仅占用额外的存储空间,还可能导致...

Global site tag (gtag.js) - Google Analytics