假设有一个表user,字段分别有id–nick_name–password–email–phone,分情况如下(注意删除多余记录时要创建临时表,不然会报错):

一、单字段(nick_name)

1、查出所有有重复记录的所有记录

select * from user where nick_name in

(select nick_name from user group by nick_name having count(nick_name)>1);

2、查出有重复记录的各个记录组中id最大的记录

select * from user where id in (select max(id) from user group by nick_name having count(nick_name)>1);

3、查出多余的记录,不查出id最小的记录

select * from user where nick_name in

(select nick_name from user group by nick_name having count(nick_name)>1)

and id not in

(select min(id) from user group by nick_name having count(nick_name)>1);

4、删除多余的重复记录,只保留id最小的记录

delete from user where nick_name in

(select nick_name from

(select nick_name from user group by nick_name having count(nick_name)>1) as tmp1)

and id not in

(select id from

(select min(id) from user group by nick_name having count(nick_name)>1) as tmp2);

二、多字段(nick_name,password)

1、查出所有有重复记录的记录

select * from user where (nick_name,password) in

(select nick_name,password from user group by nick_name,password where having count(nick_name)>1);

2、查出有重复记录的各个记录组中id最大的记录

select * from user where id in

(select max(id) from user group by nick_name,password where having count(nick_name)>1);

3、查出各个重复记录组中多余的记录数据,不查出id最小的一条

select * from user where (nick_name,password) in

(select nick_name,password from user group by nick_name,password having count(nick_name)>1)

and id not in

(select min(id) from user group by nick_name,password having count(nick_name)>1);

4、删除多余的重复记录,只保留id最小的记录

delete from user where (nick_name,password) in

(select nick_name,password from

(select nick_name,password from user group by nick_name,password having count(nick_name)>1) as tmp1)

and id not in

(select id from

(select min(id) id from user group by nick_name,password having count(nick_name)>1) as tmp2);

MySql 查重、去重的实现相关推荐

  1. mysql添加用户查重的方法_mysql 开发技巧之JOIN 更新和数据查重/去重

    主要涉及:JOIN .JOIN 更新.GROUP BY HAVING 数据查重/去重 1 INNER JOIN.LEFT JOIN.RIGHT JOIN.FULL JOIN(MySQL 不支持).CR ...

  2. Java实现文件查重去重

    Java实现文件查重去重 前言 大概流程 代码 前言 网上下的一些去重软件不是太慢就是去的不够干净,故用Java编写一个使用 大概流程 ① 遍历选定的文件并按照文件长度分组 ② 根据md5二次过滤分组 ...

  3. 数据查重去重,数据匹配过程

    帮助更多需要自动化解决工作的人们. 步骤:不完整,重复,错误,格式不规范数据 -> 数据清洗 -> 正确规范数据 -> 数据去重技术 -> 数据匹配. 使用过的一些相关软件,查 ...

  4. Python 计算MD5值 图片查重去重

    MD5 MD5 即 Message-Digest Algorithm 5(信息-摘要算法5).摘要算法又称哈希算法.散列算法. 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进 ...

  5. mysql 查重名现象_mysql查询重复数据【转】

    表全部数据 ------------------- 1 查询people_no重复的记录 select * from people where people_no in (select people_ ...

  6. 高薪程序员面试题精讲系列83之MySQL如何查重和去重?如何分页?

    一. 面试题及剖析 1. 今日面试题 MySQL如何查询重复记录? MySQL如何去除重复记录? 2. 题目剖析 数据库相关的面试题很多,而且也是我们面试时的重中之重,随便某一个知识点都可能会被拿出来 ...

  7. MySql数据库:数据查重、去重的实现

    数据库的查重去重是java面试经常会被问到的问题,下面讲讲怎么实现这些,因为本人能力有限,所以只管实现,不考虑效率问题: 假设有一个表user,字段分别有id--nick_name--password ...

  8. python知网查重_用Python写了个检测抄袭/文章去重算法(nshash)

    中国人有句话叫"天下文章一大抄",但是在正规场合下"抄"是要付出代价的,比如考试.写论文是不能抄的,一旦被发现后果相当严重.在互联网出现之前,"抄&q ...

  9. 短视频查重机制及去重方法

    2020年,各大短视频很严厉的一年,如3月份开始,无论是抖音里的影视号大批量的提醒搬运或者封号,还是从油管搬运视频过来,不经过视频去重处理,都会收到提醒. 很多人说如今只能原创了,姑且先不说是否大家都 ...

最新文章

  1. 移动硬盘提示此卷不包含可识别的文件系统数据如何恢复
  2. 三. H.264简介
  3. ios 贝塞尔曲线 颜色填充_IOS 贝塞尔曲线(UIBezierPath)属性、方法整理
  4. oleread.php,PHP的垃圾回收机制详解
  5. How draw a stem -and -leaf amp; box-plot display by R.or Python
  6. LINUX :标准c库
  7. C# HttpRequest基础连接已经关闭: 接收时发生意外错误
  8. Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别
  9. [转]使用Navicat for Oracle工具连接oracle的
  10. mysql的DbUtils_Dbutils操作mysql
  11. Eclipse设置断点进行调试
  12. HPC在石油勘探行业正面临三大考验
  13. 良好的树结构设计会让开发更舒爽
  14. 关于 tp5 事务操作总结
  15. 百度文库免下载券下载的方法
  16. 石子合并,四边形不等式优化(Buy Candy,玲珑杯 Round#6 A lonlife 1066)
  17. 探索淘宝订单号生成方案
  18. 十几套IT培训视频教程免费下载,为你节省几万元培训费用
  19. CocoaPods制作第三方库,管理自己的私有库以及发布官方库(模块化与组件化)
  20. 35 行代码实现一个简单的 shell

热门文章

  1. CSS实现背景图片不规则的导航菜单
  2. 【模板】ACM Conference的Latex论文模板与说明
  3. ATTck 入口点 —— 水坑攻击
  4. java web应用程序开发框架
  5. linux系统部分装在根目录吗,我安装的红帽linux系统,怎么没有根目录
  6. 物理服务器怎么装linux,新手如何在物理机上部署红帽linux系统
  7. devm_ioremap_resource devm_ioremap 区别
  8. 首批最佳骑行路线揭晓
  9. 过孔为什么不能打焊盘上?我就想打,怎么办?
  10. 3.DesignForVias\1.AutoRoutingFirstSetp