`
javafan_303
  • 浏览: 951162 次
  • 性别: 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`)
)

 

分享到:
评论

相关推荐

    查询重复数据sql语句

    是一个简单的sql语句,你可以仿照这个语句查出表里的重复数据。

    数据库 查询删除重复数据

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

    达梦数据库_SQL语言手册

    数据库快照删除语句 第章数据查询语句和全文检索语句 单表查询 简单查询 带条件查询 集函数 情况表达式 连接查询 子查询 标量子查询 表子查询 派生表子查询 定量比较 带 谓词的子查询 多列表子查询 ...

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

    在Access中一般只能查找10行大概20条重复记录,这样程序就可以任意指定表及多字段检索重复记录,并把重复的记录移除到一个临时表中,并不是进行真正删除,你可以进行恢复。但是执行第二次查找时则自动删除上次查找的...

    删除mysql数据库中的重复数据记录

    采用的是下面的方法可删除,假设重复的是test数据库中的title字段 代码如下:create table bak as (select * from test group by title having count(*)=1); insert into bak (select * from test...

    数据采集与数据清洗+数据库连接+JMP+EXCEL+数据分析

    目录 一、数据采集 二、原始数据的获取 2.1 使用JMP软件从数据库获取数据 2.2 使用EXCEL从数据库获取数据 ... 3.3 删除重复值 3.4 缺失值处理 3.5 一致化处理 3.6 数据堆叠 3.7 异常值的判断与处理

    PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)

    主要介绍了PHP查询并删除数据库多列重复数据的方法,利用数组函数实现该功能,涉及PHP数据库操作的相关技巧,需要的朋友可以参考下

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

    重复记录分为两种,第一种是完全重复的记录,也就是所有字段均重复的记录,第二种是部分关键字段重复的记录,例如Name字段重复,而其它字段不一定重复或都重复。

    Excel VBA与数据库整合应用范例精讲书及源代码

    实例2-19 获取数据库中某数据表的所有字段信息(Access) 实例2-20 获取数据库的所有查询信息(ADOX) 实例2-21 获取数据库的所有查询信息(DAO) 实例2-22 获取数据库的模式信息(OpenSchema) 实例2-23 获取...

    Excel VBA与数据库整合应用范例精讲

    实例2-19 获取数据库中某数据表的所有字段信息(Access) 实例2-20 获取数据库的所有查询信息(ADOX) 实例2-21 获取数据库的所有查询信息(DAO) 实例2-22 获取数据库的模式信息(OpenSchema) 实例2-23 获取...

    各种数据库简介及例子

     题目一:从EMP表中取得无重复的DEPTNO字段记录行数?  SQL>select count(distinct deptno) from emp;  题目二:从EMP表中获取所每个部门的员工平均工资和总和工资?  SQL>select deptno,avg(sal),sum(sal) from emp...

    Oracle查询表里的重复数据方法

    一、背景  一张person表,有id和name的两个字段,id是唯一的不允许重复,id相同则认为是重复的记录。 二、解决 ...Oracle删除重复数据的SQL(删除所有): 删除重复数据的基本结构写法: 想要删除这些

    VBA与数据库

    •实例2-19 获取数据库中某数据表的所有字段信息(Access) 47 •实例2-20 获取数据库的所有查询信息(ADOX) 48 •实例2-21 获取数据库的所有查询信息(DAO) 49 •实例2-22 获取数据库的模式信息(openschema) 50...

    MySQL 处理重复数据

    本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。 防止表中出现重复数据 你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的...

    LeadBBS数据库损坏导致帖子表ID编号重复修复程序

    证状: 部分LeadBBS数据库,产生数据库错误,导致主键丢失(字段名ID),并产生ID号相同的重复数据. 作用: 此程序即用来删除ID号相同的重复帖子数据. 副作用...

    机器人词库处理 V6.8.rar 问题回答分离与合并 词库多字段去重复 有演示 易语言编写杀毒软件会拦截用过的人都懂 不用担心

    机器人词库整合工具 V6.8 主要功能一:分离词库(把文本中的问题和回答分别提取出来,方便整列粘贴到ACCESS数据库问题...操作步骤:点击数据库去重,把词库粘贴进去,设置好要检测的字段名,点击开始即可删除重复数据。

    数据库编程期末答疑,卷子讲解,SQL server相关操作讲解,如有侵权请联系删除

    运行CreateTeaching.sql在系统数据库tempdb中生成解答用数据库对象,为计科系生成如下选修课综合信息视图(仅包括计科系学生的选课信息,未选课的计科系学生也包括在视图的数据集中,如果未选课则课程等相关字段记为...

    Oracle中查找和删除重复记录方法

    删除重复记录的方法原理:在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会...

    易语言操作数据库教程之EDB教程

    主键: 即是唯一的,不可重复的整数型的字段。id 张三的ID=1 张三的ID=2。2.怎么在EDB中应用主键。1.在创建一个主键字段 ID 整数型。2.遍历数据库。3.根据记录位置给主键字段赋值。4.在数据库记录发生变化的时候进行...

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

    方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @...

Global site tag (gtag.js) - Google Analytics