现在在数据库中有2对重复数据,2条正常数据,我想要把重复数据都删掉

讲一下思路

根据重复字段分组,并增加约束条件,查询出所有的,重复数据的最小id,和重复的属性

SELECT uname,MIN(uid) FROM tbl_user GROUP BY uname HAVING COUNT(uid)>1;

现在查询出来的id就是我们出现重复数据的字段,需要保留的那个字段的id

然后根据条件删除

重复的属性名字,但是却不是我想要保留的id都要删除掉

DELETE

FROM

tbl_user

WHERE

uname IN ( SELECT uname FROM tbl_user GROUP BY uname HAVING COUNT( uid ) > 1 )

AND uid NOT IN ( SELECT MIN( uid ) FROM tbl_user GROUP BY uname HAVING COUNT( uid ) > 1 )

注意如果是mysql数据库,会报错

1093 - You can't specify target table 'tbl_user' for update in FROM clause

原因:

mysql 数据库不可以在使用同一张表的查询为条件更新这张表

解决办法:将查询的数据起别名再次查询,包装一下。

DELETE

FROM

tbl_user

WHERE

uname IN

( SELECT * FROM ( SELECT uname FROM tbl_user GROUP BY uname HAVING COUNT( uid ) > 1 ) a )

AND uid NOT IN

( SELECT * FROM ( SELECT MIN( uid ) FROM tbl_user GROUP BY uname HAVING COUNT( uid ) > 1 ) a )

完美

oracle去重保留一条_mysql、oracle 去重(数据库删除重复数据保留一条)相关推荐

  1. Oracle数据库删除重复数据(保留一条)

    如何在oracle数据库中删除重复数据? 表:DWGCHF_ZJB         判断是否重复标识:检验批编号 首先进行检验批编号进行分组,筛选出cout(检验批编号)>1的数据 然后根据函数 ...

  2. oracle如何删除重复数据第一条,oracle删除重复数据保留第一条记录

    oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 gr ...

  3. oracle如何删除重复数据保留第一条记录

    oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 g ...

  4. php mysql 删除重复数据_mysql删除重复数据保留一条

    1.查找重复数据:SELECT * FROM `table_a` as a WHERE NOT EXISTS (SELECT * FROM table_b as b WHERE b.a_id=a.id ...

  5. MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据

    MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据 目录导航: 开发背景: 实战: 表结构如下图所示: 操作: 总结: 回到顶部 开发背景: 最近在做一个批量数据导入到MySQL数据 ...

  6. mongodb删除重复数据保留一条

    1.问题引入 标红字段可能存在重复数据,需删除重复数据保留一条 2. 聚合操作 db.defect_product_data.aggregate([{$group: { _id: {barcode: ...

  7. sql根据条件删除重复数据保留一条

    首先找到哪些数据是有重复记录的 over里是条件 select t.*,row_number() over(partition by t.ordercode,t.mobilephone,t.plate ...

  8. 数据库 删除重复数据只留一条

    数据库删除重复数据只留一条 Oracle 查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (s ...

  9. mysql 删除重复数据 保留一个_MySQL学习笔记-删除重复数据只保留一条

    有这样一张表,表数据及结果如下: 可以看出,school_name的字段值有重复数据(Abraham Lincoln High School 和Agoura High School分别出现两次),那么 ...

最新文章

  1. 程序员跳槽全攻略——读书笔记
  2. tplink路由器dns服务器未响应,小米路由器AC2100恢复出厂设置的方法
  3. Netflix发布Polly.JS,一个用于HTTP交互的开源库
  4. CSMA/CD协议——学习笔记
  5. 担心被机器人抢饭碗?亚马逊教 10 万员工这样保住工作
  6. Apache + PHP为什么不能在www目录下写文件以及如何解决PHP写文件问题
  7. feign返回null_109、Feign的服务降级和Turbine
  8. Java线程volatile(二)
  9. 你的特斯拉Model 3,只需要一台手机就能偷走它
  10. 设置图片和文字的垂直居中
  11. 调平均律依据拍音来判断准确性的理论简析
  12. 这双 Googler 设计的 Nike 鞋真的是──丑爆了
  13. MIST浏览器不能连接私有链
  14. 能够有效提高App线下活动的方法
  15. 生存分析 R语言(四)——Cox PHM(3) 检查PHA和scale
  16. 输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。
  17. JAVA常见面试题(下)
  18. 基于微信药店药品商城小程序系统设计与实现 开题报告
  19. matlab如何看线性趋势线,matlab自动画趋势线指标公式
  20. python哪个方向工资高_学完Python的7大就业方向,哪个行业才能赚钱多?

热门文章

  1. 钢琴小常识—音名和唱名大家都知道吗?
  2. PHP请求库Guzzle配置代理
  3. 智慧记的那些事儿(三)
  4. 设备搬迁至IDC机房注意事项
  5. Filter过滤器注解方式过滤的优先级
  6. 重试机制 Retry
  7. 国内优秀网址导航站总结 (转载)
  8. 基于java网上服装店设计与实现(mvc+jsp+servlet+jdbc+MySQL)
  9. 【故障公告】k8s 开船记:增加控制舱(control-plane)造成的翻船
  10. 西门子PLC S7-200SMART Modbus TCP通讯的步骤和要点