oracle去重保留一条_mysql、oracle 去重(数据库删除重复数据保留一条)
现在在数据库中有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 去重(数据库删除重复数据保留一条)相关推荐
- Oracle数据库删除重复数据(保留一条)
如何在oracle数据库中删除重复数据? 表:DWGCHF_ZJB 判断是否重复标识:检验批编号 首先进行检验批编号进行分组,筛选出cout(检验批编号)>1的数据 然后根据函数 ...
- oracle如何删除重复数据第一条,oracle删除重复数据保留第一条记录
oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 gr ...
- oracle如何删除重复数据保留第一条记录
oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 g ...
- 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 ...
- MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据
MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据 目录导航: 开发背景: 实战: 表结构如下图所示: 操作: 总结: 回到顶部 开发背景: 最近在做一个批量数据导入到MySQL数据 ...
- mongodb删除重复数据保留一条
1.问题引入 标红字段可能存在重复数据,需删除重复数据保留一条 2. 聚合操作 db.defect_product_data.aggregate([{$group: { _id: {barcode: ...
- sql根据条件删除重复数据保留一条
首先找到哪些数据是有重复记录的 over里是条件 select t.*,row_number() over(partition by t.ordercode,t.mobilephone,t.plate ...
- 数据库 删除重复数据只留一条
数据库删除重复数据只留一条 Oracle 查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (s ...
- mysql 删除重复数据 保留一个_MySQL学习笔记-删除重复数据只保留一条
有这样一张表,表数据及结果如下: 可以看出,school_name的字段值有重复数据(Abraham Lincoln High School 和Agoura High School分别出现两次),那么 ...
最新文章
- 程序员跳槽全攻略——读书笔记
- tplink路由器dns服务器未响应,小米路由器AC2100恢复出厂设置的方法
- Netflix发布Polly.JS,一个用于HTTP交互的开源库
- CSMA/CD协议——学习笔记
- 担心被机器人抢饭碗?亚马逊教 10 万员工这样保住工作
- Apache + PHP为什么不能在www目录下写文件以及如何解决PHP写文件问题
- feign返回null_109、Feign的服务降级和Turbine
- Java线程volatile(二)
- 你的特斯拉Model 3,只需要一台手机就能偷走它
- 设置图片和文字的垂直居中
- 调平均律依据拍音来判断准确性的理论简析
- 这双 Googler 设计的 Nike 鞋真的是──丑爆了
- MIST浏览器不能连接私有链
- 能够有效提高App线下活动的方法
- 生存分析 R语言(四)——Cox PHM(3) 检查PHA和scale
- 输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。
- JAVA常见面试题(下)
- 基于微信药店药品商城小程序系统设计与实现 开题报告
- matlab如何看线性趋势线,matlab自动画趋势线指标公式
- python哪个方向工资高_学完Python的7大就业方向,哪个行业才能赚钱多?