MySQL 数据查重、去重的实现语句

作者:新码农 时间:2024-01-25 10:46:34 

有一个表user,字段分别有id、nick_name、password、email、phone。

一、单字段(nick_name)

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


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

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


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

查出多余的记录,不查出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);

删除多余的重复记录,只保留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)

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


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);

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


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

查出各个重复记录组中多余的记录数据,不查出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);

删除多余的重复记录,只保留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);

来源:https://www.addcoder.com/blog/article_detail/edbhoezw/

标签:MySQL,数据,查重,去重
0
投稿

猜你喜欢

  • asp如何创建一个功能强大的文档管理程序?

    2009-11-15 17:44:00
  • 用Python实现给Word文档盖章

    2021-07-08 21:18:00
  • Python实现邮件发送功能的示例详解

    2022-08-18 13:15:43
  • Python实现按照指定要求逆序输出一个数字的方法

    2023-12-21 23:37:46
  • Python数学建模库StatsModels统计回归简介初识

    2021-05-05 04:57:02
  • python爬取微博评论的实例讲解

    2022-01-10 19:53:14
  • select下拉菜单实现二级联动效果

    2023-05-22 22:30:32
  • 如何基于Python爬虫爬取美团酒店信息

    2023-10-11 00:12:45
  • 这可能是最好玩的python GUI入门实例(推荐)

    2021-02-01 15:33:42
  • 两个非常规ASP木马(可躲过扫描)

    2011-03-11 10:38:00
  • Vue项目中如何使用Axios封装http请求详解

    2024-04-28 09:19:49
  • 数据结构简明备忘录 线性表

    2024-01-25 01:59:28
  • asp如何制作一个防止多次刷新计数的图片计数器?

    2010-06-29 21:28:00
  • 深入浅析python 协程与go协程的区别

    2022-02-16 23:57:26
  • 编写数据库asp程序需注意的问题

    2007-12-29 12:57:00
  • JavaScript中的全局对象介绍

    2024-04-22 22:41:29
  • PHP APC缓存配置、使用详解

    2023-11-21 22:15:15
  • vuex实现数据状态持久化

    2024-04-30 10:34:38
  • 利用matplotlib实现根据实时数据动态更新图形

    2023-07-17 18:50:45
  • python单例模式获取IP代理的方法详解

    2023-11-14 22:22:05
  • asp之家 网络编程 m.aspxhome.com