如何查找和删除数据库中的重复数据

如何查找和删除数据库中的重复数据,第1张

如何查找和删除数据库中的重复数据

以Excel2010版本为例,可以直接使用数据→删除重复项的功能来实现删除重复数据。

此功能Excel2007及以上版本均可,WPS中也有这样的功能。另外还可以使用公式法去重复,常用的函数是Countif函数。

方法/步骤

打开需要编辑的Excel表格。观察表格发现有部分数据相同,需要将这些重复的数据用醒目的颜色标注出。首先,选中需要查找重复值的一列或某个区域。具体 *** 作,如图所示。

鼠标单击开始菜单,依次选择样式-条件格式-突出显示单元格规则-重复值。

Ps:这些步骤适应于microsoft07版本。03版本的童鞋可以查看我的另一篇经验贴“怎么在Excel2003版中查找重复值”。

d出重复值对话框,为包含以下类型的单元格设置格式。默认的选择是重复值设置为浅红填充色深红色文本。点击确定。

点击确定。观察Excel表格,是不是发现Excel表格中的那些重复值已经被标红显示了呢。显示效果如图所示。

5

将这些重复值成功标注后,您可以对数据进行其他处理,如筛选。具体 *** 作步骤:点击开始菜单-排序和筛选-筛选-按颜色排序-后单独显示重复数据。您也可以根据个人需要,删除或者继续其他编辑。

用关键字 stinct,select stinct 字段,是不重复的意思。代码的实例如下:

查询order_id和loan_lind两个字段相同的记录:

select distinct aorder_preview_id, aorder_id, aloan_kind

from ddk_order_preview_info a

join ddk_order_preview_info b

on aorder_preview_id != border_preview_id

where aorder_id = border_id and aloan_kind = bloan_kind;

扩展资料

SQL数据库查询出一张表中重复的数据,按某个字段来查找的实例:

例如表名为Course:

需要查询出name的重复,解答如下:

补充:

如:查询每个姓名出现大于2次,SQL如下

SELECT COUNT(NAME) as '出现次数',  NAME FROM  表名

GROUP BY  NAME   HAVING count(NAME) > 2   ORDER BY  出现次数   DESC

参考资料来源:MySql官方网站-MySQL 80参考手册-13210 SELECT语法

使用group进行分组来实现。

例句:

select a,count() from table group a ;

显示的结果,a就是重复的值,count()就是重复的次数。

该SQL在Oracle、Sql Server等数据库都适用。

若要筛选重复几次的重复值,则可对sql进行变动。

比如要显示重复3次以及3次以上的资料,

例句:

select a,count() from table group a having count()>=3;

直接查出重复

--查出表中有重复的id的记录,并计算相同id的数量

select id,count(id) from @table group by id having(count(id)>1)

其中,group by id,是按id字段分组查询:

select id,count(id) from @table group by id

可以得到各不同id的数量合计

having(count(id)>1)判断数量大于1,也就是有重复id的记录

法一: 用Group by语句 此查找很快的select count(num), max(name) from student –查找表中num列重复的,列出重复的记录数,并列出他的name属性group by numhaving count(num) >;1 –按num分组后找出表中num列重复,即出现次数大于一次delete from student(上面Select的)这样的话就把所有重复的都删除了。—–慎重法二:当表比较大(例如10万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法:—- 执行下面SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录SELECT FROM EM5_PIPE_PREFABWHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D –D相当于First,SecondWHERE EM5_PIPE_PREFABDRAWING=DDRAWING ANDEM5_PIPE_PREFABDSNO=DDSNO);—- 执行下面SQL语句后就可以删除所有DRAWING和DSNO相同且重复的记录DELETE FROM EM5_PIPE_PREFABWHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB DWHERE EM5_PIPE_PREFABDRAWING=DDRAWING ANDEM5_PIPE_PREFABDSNO=DDSNO);法一: 用Group by语句 此查找很快的select count(num), max(name) from student –查找表中num列重复的,列出重复的记录数,并列出他的name属性group by numhaving count(num) >;1 –按num分组后找出表中num列重复,即出现次数大于一次delete from student(上面Select的)这样的话就把所有重复的都删除了。—–慎重法二:当表比较大(例如10万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法:—- 执行下面SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录SELECT FROM EM5_PIPE_PREFABWHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D –D相当于First,SecondWHERE EM5_PIPE_PREFABDRAWING=DDRAWING ANDEM5_PIPE_PREFABDSNO=DDSNO);—- 执行下面SQL语句后就可以删除所有DRAWING和DSNO相同且重复的记录DELETE FROM EM5_PIPE_PREFABWHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB DWHERE EM5_PIPE_PREFABDRAWING=DDRAWING ANDEM5_PIPE_PREFABDSNO=DDSNO);

以上就是关于如何查找和删除数据库中的重复数据全部的内容,包括:如何查找和删除数据库中的重复数据、excel表格怎么检查有重复的数据库、sql查询按两个字段查询重复记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9705855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存