delete from userinfo where busi_id in
(select busi_id from
(select busi_id from userinfo group by busi_id having count(busi_id)>1) tmp1)
and id not in
(select id from
(select min(id) id from userinfo group by busi_id having count(busi_id)>1) tmp2); 无主键 添加主键再去重操作。 DELETE FROM user WHERE id NOT IN ( SELECT temp.min_id FROM ( SELECT MIN(id) min_id FROM user GROUP BY name,age )AS temp );

如果在设计表时没有指定主键,
导入数据时可能出现重复导入,
导致一个表中出现多条完全相同的多条记录。
以下是解决这个问题的思路:

使用distinct语句筛选出不重复的记录存入临时表tmp;
create table tmp as (select distinct sno,sname,age,sex from s);
 
删除原表中的数据记录
delete from s;
 
将临时表中的数据插入到原表。
insert into s select * from tmp;
 
删除临时表
drop table tmp;

有一张学生表,有姓名和性别(0:女,1:男),假如我们想删除姓名和性别都相同的数据,这里介绍2中方法

首先看一下数据表

编号 姓名 性别
1  王璐 0
2  李萌 0
3  张帅  1 
4   李萌   0 
5  张帅  1 
6   刘涛   1 

NO.1

保留id较小的数据

DELETE t1 FROM student t1, student t2
WHERE t1.name = t2.name AND t1.sex = t2.sex AND t1.id > t2.id

保留id较大的数据

DELETE t1 FROM student t1, student t2
WHERE t1.name = t2.name AND t1.sex = t2.sex AND t1.id < t2.id

注意最后的t1.id > t2.id不要忘记,否则会删除所有的数据,操作之前一定要先备份好数据

NO.2

INSERT INTO student_tmp(name, sex)
SELECT DISTINCT name, sex FROM student

总结

两种方法优缺点:

方法二所需时间更短,但是方法二当主键为uuid时,需要处理一下,可将把主键设置为int自增,然后执行下面的sql就可以了。

UPDATE student_tmp SET id = uuid()

最新文章

  1. 汽车遥控钥匙HCS101/HCS200/HCS201/HCS300芯片解密
  2. ASP.NET MVC系列:添加模型
  3. java之yield(),sleep(),wait()区别详解-备忘笔记
  4. 【转】Java集合框架综述
  5. Python脚本控制的WebDriver 常用操作 &lt;九&gt; 定位一组对象
  6. Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_1
  7. Using Git Submodules
  8. hdu1020 Encoding
  9. BZOJ_1629_[Usaco2007_Demo]_Cow_Acrobats_(贪心)
  10. 009.EscapeRegExChars
  11. ASP.NET - 服务器控件button 先执行js 再执行后台的方法
  12. Python中的eval()、exec()及其相关函数
  13. windows短路径转换成长路径
  14. 项目管理-工作量评估 Manday
  15. SQLite数据库管理工具(SQLiteStudio)v3.1.1
  16. 使用SOCKET获取网页的内容
  17. iOS 10 的一个重要更新-开发 iMessage 的第三方插件
  18. Android基础——Fragment与Activity交互
  19. 【linux &amp; &amp;&amp;命令】&amp;后台(并行)命令 &amp;&amp;串行命令
  20. h3c端口汇聚的几种情况-S5500-S5048

热门文章

  1. 更换镜像加快python pip 安装扩展库的速度
  2. Vue的axios如何全局注册
  3. Vue项目中的http请求统一管理
  4. phpstorm设置最多标签数
  5. Chrome 浏览器自动填表呈现淡黄色解决
  6. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_06-SpringSecurityOauth2研究-Oauth2授权码模式-申请令牌
  7. PAT 甲级 1046 Shortest Distance (20 分)(前缀和,想了一会儿)
  8. LeetCode_110. Balanced Binary Tree
  9. (十六)toString()的用法
  10. celery的log如何传递给django,由django管理