https://blog.csdn.net/eagle89/article/details/90901755

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

php mysql去重_mysql 去重相关推荐

  1. php mysql 去重_mysql去重的两种方法实例详解

    这篇文章主要介绍了mysql去重的两种方法详解及实例代码的相关资料,这里对去重的两种方法进行了一一实例详解,需要的朋友可以参考下 mysql去重 方法一: 在使用MySQL时,有时需要查询出某个字段不 ...

  2. mysql命令去重_mysql去重的两种方法详解及实例代码

    mysql去重 方法一: 在使用MySQL时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数, ...

  3. mysql命令去重_MySQL去重的方法整理

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. mysql命令去重_mysql去重

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. mysql如何根据搜索结果去重_mysql去重数据

    今天一个同学问我mysql去除重复数据,自己做了个测试顺便记录下: 查看表结构: mysql> desc testdelete; +-------+-------------+------+-- ...

  6. mysql 去重_mysql 去重留一

    首先先分析一下 我们现在的目的 是 查询到这俩张表的所有数据 然后进行删除重复记录 每条数据只保留一条 第一步: 查询以下俩张表的重复记录 (关键字段重复>1) ks_examcity . ks ...

  7. 千万数据去重_mysql去重,3亿多数据量

    差不多3亿6千万数据,需要去重.因为数据量太大,所以: 将数据load data infile到大表里,不进行任何去重操作,没有任何约束.然后将数据分成几十个小表,用这几十个小表去对比大表去重.得到去 ...

  8. mysql降序后去重_Mysql 数据记录去重后按字段排序

    实现效果:去重-取最新的-排序 例子 : 按用户ID获取历史记录中某个人的记录,要求非重复的且每条只获取最新的,同时按添加时间倒序排列的 实现 :SELECT * FROM ( SELECT * FR ...

  9. java steam 去重_Java中对List去重 Stream去重的解决方法

    问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...

最新文章

  1. MindSpore布道师队伍招募开始,助力小白成为大牛!
  2. 参数(条件表)灵活配置GS01/GS02/GS03
  3. 2008年第四季度开发者Top 100 Blogs
  4. 10.term level 查询
  5. 整理 | 编程技术学习资源汇总
  6. 那些年破处倒闭的公司,都有哪些特征?打工人避雷必看
  7. JS函数assign
  8. TurboMail邮件系统促进马可波罗瓷砖集团迅猛发展
  9. 定时重启php,linux系统定时重启
  10. Gradle下载及安装
  11. java拍照搜题软件下载_微信拍照搜答案的小程序 可以拍照搜java题的软件
  12. 基于vue2的 H5框架
  13. Serializer的功能
  14. 2013年十大免费空间综合排行榜-稳定,可靠,速度快,可建站免费空间
  15. 2018中南大学 计算机考研分数,2018年中南大学考研复试分数线已公布
  16. shader拖尾_拖尾效果 - LouisSong - 博客园
  17. 常见文件类型的图标介绍
  18. Error in nextTick: “TypeError: Cannot read property ‘xxx‘ of undefined“
  19. tunel凋亡试剂盒说明书_急求!!罗氏TUNEL试剂盒( In Situ Cell Death Detection Kit, TMR red )中文说明书或者操作步骤,急急急!!谢谢啦!...
  20. zxl CMD 命令速查手册

热门文章

  1. freenas php5.56,FreeNAS中文网
  2. ZED2代相机+nvidia jetson AGX xavier踩坑记录
  3. 二叉树的定义和基本术语
  4. iCloud空间莫名被Mac文档占用.
  5. typedef关键字
  6. C++ 调用 Tesseract
  7. 禁止编辑注册表+ 文件劫持(映像劫持)
  8. git安装 tor_tortoriseGit的使用
  9. 软件更新服务之客户端更新
  10. 百度回应公开员工工作状态预测专利