数据库中不小心导入了很多重复的数据,想要只保留重复数据中的一条数据,其他的全部删掉:

谨慎起见,按照如下步骤基本不会出问题:

1.查询你导入的所有数据:

我是通过用户ID和操作人的ID,筛选了我导入的所有数据

共255条

select  *
from security_role_user
where user_id = '114741'
and operate_user = '13052'

2.删除重复后需要保留数据的总数:

共87条

select distinct security_role_code
from security_role_user
where user_id = '114741'
and operate_user = '13052' 

根据以上两条我们可以看出,我们需要删除168条数据

3.查询 包含重复数据的 security_role_code 项

select  security_role_code
FROM security_role_user
where user_id = '114741'
and operate_user = '13052'
GROUP BY security_role_code HAVING COUNT(security_role_code)>1 

4.我们需要保留的是有重复数据中,id较小的那些条目

将这些ID查出来:

SELECT MIN(id)
FROM security_role_user
where user_id = '114741'
and operate_user = '13052'
GROUP BY security_role_code HAVING COUNT(security_role_code)>1 )

最后,我们综合一下,我们需要查出  security_role_code 在重复项中,并且ID不在我们想要保留的项中,查询的sql是:

5.查询需要删除条目的ID

总数为168

select *
from security_role_user
where user_id = '114741'
and operate_user = '13052'
and  security_role_code  in (select  security_role_code FROM security_role_user where user_id = '114741' and operate_user = '13052' GROUP BY security_role_code HAVING COUNT(security_role_code)>1 )
and id not in (SELECT MIN(id) ids FROM security_role_user where user_id = '114741' and operate_user = '13052' GROUP BY security_role_code HAVING COUNT(security_role_code)>1 )

6.在5的基础上,我们根据ID删掉这些项,那么最终的sql就是:

delete
from security_role_user
where id in (select id from security_role_user where user_id = '114741' and operate_user = '13052' and  security_role_code  in (select  security_role_code FROM security_role_user where user_id = '114741' and operate_user = '13052' GROUP BY security_role_code HAVING COUNT(security_role_code)>1 )and id not in (SELECT MIN(id) ids FROM security_role_user where user_id = '114741' and operate_user = '13052' GROUP BY security_role_code HAVING COUNT(security_role_code)>1 )
)

sql 去掉重复的数据相关推荐

  1. 【实验五 一维数组】7-7 去掉重复的数据

    7-7 去掉重复的数据 在一大堆数据中找出重复的是一件经常要做的事情.现在,我们要处理许多整数,在这些整数中,可能存在重复的数据. 你要写一个程序来做这件事情,读入数据,检查是否有重复的数据.如果有, ...

  2. sql删除重复的数据保留一条_leetcode题库-sql练习精讲系列--九、删除重复

    这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...

  3. 电商订单模块的订单表与订单商品表关系,1个订单对应多个商品的页面布局,el表达式去掉重复的数据。

    1:功能:我的订单信息,查看订单模块 (适用于订单管理,订单信息详情等多个订单查询遍历模块) 2:效果截图(红色为订单数据,绿色为商品数据)一个订单对应多个商品的数据关联关系. 3:用table表格显 ...

  4. mysql 的 distinct 去掉重复的数据

    2019独角兽企业重金招聘Python工程师标准>>> 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于 ...

  5. sql 查询重复行数据

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select  peopleId  fro ...

  6. SQL不重复查找数据及把一列多行内容拼成一行

    如下表: 表名:Test IDRowIDCol1Col2 11AA 21BA 31AB 41CB 1,查找表中字段重复的只查找一次 select distinct Col1 from Test ; s ...

  7. ArrayList 去掉重复数据

    // list 去掉重复的数据 for (int m = 0; m < list.size(); m++) {for (int n = 0; n < m; n++) {if (list.g ...

  8. SQL查询去掉重复数据

    本文主要总结数据库去掉重复数据的方法 去掉重复数据的方法: 第一种:distinct 根据单个字段去重,能精确去重: 作用在多个字段时,只有当这几个字段的完全相同时,才能去重: 关键字distinct ...

  9. SQL SERVER怎么去掉重复数据?

    因为不知道你A表的字段.这里假如A表有字段ID,Name,Age如果 Name,Age重复,要去掉重复的 Delete T From (Select Row_Number() Over(Partiti ...

  10. SQL中重复数据的查询与删除

    ========第一篇========= 在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句: select data_guid from adam_entity_d ...

最新文章

  1. 【Android游戏开发二十七】讲解游戏开发与项目下的hdpi 、mdpi与ldpi资源文件夹以及游戏高清版本的设置...
  2. 企业 SpringBoot 教程(六)springboot整合mybatis
  3. http协议的Request Payload 和 Form Data 的区别
  4. Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息
  5. 360无痕浏览器_浏览器如何开启老板键?
  6. html无限添加元素,jquery--html【添加元素】
  7. 【安卓开发 】Android初级开发(四)ListView
  8. 交华为换机access配置_华为交换机Hybrid接口及基础配置
  9. [零基础学JAVA]Java SE应用部分-35.JAVA类集之二
  10. 面试问题背后的“猫腻”
  11. 有趣的视频 国外计算机课程
  12. 计算机屏幕上放映演示文稿的是,2015年职称计算机考试PowerPoint单选题模拟练习...
  13. 通过电脑从Ovi商店下载软件并安装
  14. c语言程序隔断,别再砌墙了!20种方法让隔断在你家C位出场
  15. day03链表基础_移除链表元素_设计链表_反转链表
  16. 免费IDM注册机下载
  17. 有位程序员写了部「修仙小说版」编程教程!网友:蚌埠住了 ....
  18. 【Linux从青铜到王者】第二十篇:Linux网络基础第三篇之IP协议
  19. http状态码大全,从100-505状态码详情
  20. M1卡 不能使用KeyB进行读写的问题

热门文章

  1. 【Linux 内核 内存管理】内存映射相关数据结构 ① ( vm_area_struct 结构体 | task_struct、mm_struct、vm_area_struct 3 个结构体之间的关系)
  2. 新浪微博表情jQuery插件 v1.2——方便地实现表情插入功能
  3. DIV+CSS布局 - 弹性盒子布局
  4. 单片机编程软件很简单(六),V5.29 keil mdk单片机编程软件新特性+烧写程序
  5. 小学计算机集体备课,信息技术集体备课总结
  6. 2018八大流行网页设计趋势
  7. 火了!GitHub标星三万,Python抢票神器
  8. 架构蓝图--软件架构 4+1 视图模型
  9. 信息系统安全复习提纲
  10. 科学家查明北京雾霾6大主要贡献源