假设有一个表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. 数据查重去重,数据匹配过程

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

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

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

  4. Excel数据查重小技巧

    Excel数据查重小技巧 方法一 1.选中要查重的一列(例如:A1) 2.点击:条件格式->突出显示单元格规则->重复值-确定 3.重复的数据就被标记出来了 方法二 1.选中要查询的数据列 ...

  5. java导入Excel中数据查重的方法

    今天查数据库数据的时候发现一个问题,明明添加了数据库查重的方法,如果导入文件中存在和数据库相同值的时候会提示并拒绝提交,但数据库还是出现了重复字段,一开始有点纳闷,后来发现原来是因为一个excel文件 ...

  6. 555-大数据查重-位图算法

    大数据查重-位图算法 位:内存管理的最小单位是字节,一个字节是8个位. 有1亿个整数,最大值不超过1亿,问都有哪些元素重复了?谁是第一个重复的? 内存限制100M 1亿 = 100M 如果是放到哈希表 ...

  7. Java实现文件查重去重

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

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

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

  9. excel两列数据查重

    =IFERROR(VLOOKUP(B1,A:A,1,0),"") 查重前需查看被查数据前是否有空格 影响查重结果 另一种简单方法 excel -- 开始 -- 条件格式 -- 新建 ...

最新文章

  1. IIS 6.0安全增强
  2. javascript宿主对象之window.history
  3. view bitmap 截图
  4. webpack打包问题
  5. eas库存状态调整单不能反审核_把握 商品 周转,做好 动态 库存 管理
  6. python调用通达信公式_python读取通达信公式结果
  7. springboot+vue解决跨域问题
  8. Jenkins——Jenkins+harbor+gitlab(git) 部署maven项目
  9. LWIP应用开发|DNS域名解析
  10. C++学习日记——头文件的编写
  11. [INSTALL_FAILED_ALREADY_EXISTS]
  12. android 获取AndroidManifest.xml中的meta-data元素
  13. 安卓统一推送联盟 10 月 16 日正式成立
  14. 【小程序】小程序托管平台的功能展望与想法
  15. wux tab 颜色扩展
  16. 中关村科技企业融资缺口700亿 商业银行垂涎
  17. min capacitance 违例
  18. 奇瑞小蚂蚁年轻时尚生活的最爱
  19. java计算机毕业设计酒店订房系统源程序+mysql+系统+lw文档+远程调试
  20. 一款大功率6A 深度PWM调光的降压恒流驱动工作原理

热门文章

  1. fastboot命令汇总
  2. 如何提取视频中的音频,不需要软件,在线就能做到
  3. RDBMS(关系型数据库)与HBase的对比
  4. 微信小程序--轮播图
  5. 面向对象——类和对象
  6. 惊了 消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记
  7. 【科普向】从gtx480的落败到并行计算再到SIMD,MIMD,SIMT
  8. Python 程序示例 - 初学者的简单代码示例
  9. 2020年Q3房产行业网络关注度分析报告
  10. 去空格/去空白行在线工具