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

1、第一种重复很容易解决,不同数据库环境下方法相似:

Mysql

create table tmp select distinct * from tableName;

drop table tableName;

create table tableName select * from tmp;

drop table tmp;

SQL Server

select distinct * into #Tmp from tableName;

drop table tableName;

select * into tableName from #Tmp;

drop table #Tmp;

Oracle

create table tmp as select distinct * from tableName;

drop table tableName;

create table tableName as select * from tmp;

drop table tmp;

发生这种重复的原因是由于表设计不周而产生的,增加唯一索引列就可以解决此问题。

2、此类重复问题通常要求保留重复记录中的第一条记录,操作方法如下。 假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集

Mysql

alter table tableName add autoID int auto_increment not null;

create table tmp select min(autoID) as autoID from tableName group by Name,Address;

create table tmp2 select tableName.* from tableName,tmp where tableName.autoID = tmp.autoID;

drop table tableName;

rename table tmp2 to tableName;

SQL Server

select identity(int,1,1) as autoID, * into #Tmp from tableName;

select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,Address;

drop table tableName;

select * into tableName from #Tmp where autoID in(select autoID from #Tmp2);

drop table #Tmp;

drop table #Tmp2;

Oracle

DELETE FROM tableName t1 WHERE t1.ROWID > (SELECT MIN(t2.ROWID) FROM tableName t2 WHERE t2.Name = t1.Name and t2.Address = t1.Address);

说明:

1. MySQL和SQL Server中最后一个select得到了Name,Address不重复的结果集(多了一个autoID字段,在大家实际写时可以写在select子句中省去此列)

2. 因为MySQL和SQL Server没有提供rowid机制,所以需要通过一个autoID列来实现行的唯一性,而利用Oracle的rowid处理就方便多了。而且使用ROWID是最高效的删除重复记录方法。

DISCUZ Username 重复:

SELECT max(uid), username, count( * ) AS gg

FROM `cdb_members`

GROUP BY username

ORDER BY gg DESC

LIMIT 0 , 30

posted on 2008-08-09 03:33 Prog 阅读(183) 评论(0)  编辑 收藏 引用 网摘 所属分类: Mysql

php判断字段重复,删除完全重复和部分关键字段重复的记录相关推荐

  1. MySQL查询重复字段,及删除重复记录的方法

    MySQL查询重复字段,及删除重复记录的方法(转) Submitted by wiley on Thu, 09/03/2009 - 09:36 [教学] MySQL查询重复字段,及删除重复记录的方法 ...

  2. 算法设计 删除无序单链表中的值域重复的结点

    删除无序单链表中的值域重复的结点 题目: 有一个带头结点的单链表head,其中可能出值域重复的结点,设计一个算法删除值域重复的结点.要求在主函数中调用设计的算法,给出结果. 思路:删除某个结点值的重复 ...

  3. pandas使用drop_duplicates函数基于subset参数指定的数据列子集删除重复行、并设置keep参数保留重复行中的最后一个数据行

    pandas使用drop_duplicates函数基于subset参数指定的数据列子集删除重复行.并设置keep参数保留重复行中的最后一个数据行 目录

  4. python 删除字符串中的所有相邻的重复项

    | 删除字符串中的所有相邻的重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们.在 S 上反复执行重复项删除操作,直到无法继续删除.在完成所有重复项删除操作后 ...

  5. c语言去掉数组中重复的,C语言删除无序整型数组中的重复元素及时间复杂度

    数组重复的问题在任何编程中都会有碰到了,这里介绍C语言删除无序整型数组中的重复元素及时间复杂度,希望对各位有帮助. 遇到一个题,大概要求是写一个函数处理来去掉一个无序的整型数组(例如int i_arr ...

  6. sql查询字段重复的数据 并且修改数据某个字段

    1.sql查询字段重复的数据 并且修改所有行某个字段值 UPDATE 表名 a SET a.要修改的字段名 = 1 WHEREa.重复字段 IN (SELECTb.重复字段FROM(SELECTc.重 ...

  7. mysql 查询相同字段的数据_MySql 几种查询相同字段中相同数据,及删除相同字段的相同数据的方法...

    比如现在有一人员表  (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 select   p1.*   from   persons   p1,persons   ...

  8. python数组重复数据去重_JS实现数组去重(重复的元素只保留一个)

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[,,,,,, ...

  9. php导入excel先检查,php 如何在导入Excel数据时检查Mysql数据库内容是否存在,避免重复录入?:怎么样筛选excel表格重复的数据库...

    php 如何在导入Excel数据时检查Mysql数据库内容是否存在,避免重复录入? 如果不想每询一次以提前做一个统询 $sql=mysql_query("select distinct Co ...

最新文章

  1. matlab 报错 javax,[求助]安装报错,求大佬帮忙
  2. “纹身贴皮电路“:未来在皮肤上画个电路就能监测身体健康状况
  3. OpenERP的优化---使用Nginx反向代理
  4. 成功解决model_selection\_search.py:584: DeprecationWarning: fit_params as a constructor argument was d
  5. linux内核唤醒过程,Linux内核启动过程分析
  6. leetcode228. 汇总区间
  7. java怎么使用泛型_java泛型 7 泛型的基本介绍和使用
  8. 兴奋的.NET@linux-Develop
  9. [转载] Python Numpy
  10. 简单几何(线段相交) POJ 2653 Pick-up sticks
  11. JavaScript的简单复习
  12. 语料库资源————(一)
  13. win10电脑桌面透明便签_win10系统在桌面添加透明便签的图文技巧
  14. 【DSP入门】DSP2803x算法加速利器之CLA
  15. JavaScript是什么?看着一篇就够了
  16. 在服务器上安装centos系统
  17. 苹果支付Java服务器实现
  18. 数据科学家也良莠不齐 蹩脚数据科学家的10个迹象
  19. HashTable详解、源码、扩容、深入理解HashTable、HashTable多线程并发问题
  20. 关键词:MAU,DAU,DAU/MAU

热门文章

  1. 请问诸位大神,Android怎么实现图片转动
  2. ArcGIS里表示地理信息的动态变化(例三)
  3. @RestControllerAdvice 异常分析
  4. 如何解决loss NAN的问题
  5. 【招聘内推】猎聘网招聘推荐算法工程师
  6. 【报告分享】2019年全球数字化风险调查报告-德勤.pdf(附下载链接)
  7. 递归-Hanoi塔问题
  8. 腾讯广告算法大赛官方“开挂”,为你直播赛题解析!
  9. 跨境电商shopify独立站如何引流量
  10. php无需鉴权的接口,thinkphp5-restfulapi 博客 接口鉴权应用