• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MySQL 数据查重、去重的实现语句

    有一个表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);
    

    以上就是MySQL 数据查重、去重的实现语句的详细内容,更多关于MySQL 数据查重、去重的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • MySQL使用show status查看MySQL服务器状态信息
    • Mysql中 show table status 获取表信息的方法
    • mysql建表常用的sql语句汇总
    • 记一次MySQL更新语句update的踩坑
    • Navicat Premium操作MySQL数据库(执行sql语句)
    • MySQL两种删除用户语句的区别(delete user和drop user)
    • MySQL 数据库 like 语句通配符模糊查询小结
    • mysql中写判断语句的方法总结
    • MySQL 常用的拼接语句汇总
    • MySQL SHOW STATUS语句的使用
    上一篇:Mysql复制表三种实现方法及grant解析
    下一篇:Mysql误删数据解决方案及kill语句原理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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