sql删除重复的数据保留一条_leetcode题库-sql练习精讲系列--九、删除重复
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题。涵盖了SQL面试最常考的知识点。搞懂这些题,面试时工作中sql不可能有问题。
文章分为引入问题-完整解析-答案-leetcode题和答案-知识点拓展-BAT等大厂面试真题几个部分。
希望能帮你全方位的弄懂。有问题可以留言,码字不易,写一篇要好几个小时,希望能得到点赞收藏哦
一、问题
现有一张同学的邮箱表,里面包含学生编号和邮箱两列,现要求删除相同邮箱的记录,且重复的邮箱只保留学生编号最小的那个。
二、准备
create table 邮箱 (
学生编号 int(20),
邮箱 varchar(20));insert into Person values
(1,'john@example.com'),
(2,'bob@example.com'),
(3,'john@example.com'),
(4,'john@example.com');
三、解答
[解题思路]
1.明确题目要求,要求删除重复邮箱且保留学生编号小的那个。
如图我们看到,1号同学和3号同学的邮箱重复了,保留学生编号小的,即保留1号同学的邮箱删除3号同学的邮箱。
2.学会转换思考问题的角度,运用我们学过的知识解决没有见过的问题。
前面学习过主键不相等的多表如何连接。这里我们可以使用自连接找出邮箱相等,学生编号不相等的记录。
3.确定连接主键。需要找到邮箱相同,所以a.邮箱 = b.邮箱。需要找出所有比最小的学生编号大的记录删掉。所以a.学生编号>b.学生编号。两个连接条件组合返回所有比最小学生编号大的学生的记录。
DELETE a
FROM 邮箱 a,邮箱 b
WHEREa.邮箱 = b.邮箱 AND a.学生编号 > b.学生编号
[leetcode题库问题-196.删除重复的电子邮箱 ]
编写一个 SQL 查询,来删除 Person
表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。
[参考答案]
DELETE p1 FROM Person p1,Person p2
WHEREp1.Email = p2.Email AND p1.Id > p2.Id
sql删除重复的数据保留一条_leetcode题库-sql练习精讲系列--九、删除重复相关推荐
- mysql删除重复的数据保留一条
mysql删除重复的数据保留一条 -- 删除多余的重复记录,只保留最小id的记录,content 为内容重复字段 DELETE FROM zimis WHERE id IN (SELECT * FRO ...
- 删除重复的数据保留一条
Mysql删除重复数据只保留一条_怪 咖@的博客-CSDN博客_mysql删除重复数据保留一条 这个是相关的链接,可以参考.
- mysql数据库删除重复的数据保留一条
1.问题引入 假设一个场景,一张用户表,包含3个字段.id,identity_id,name.现在身份证号identity_id和姓名name有很多重复的数据,需要删除只保留一条有效数据. 2.模拟环 ...
- php去除重复的数据保留一条,mysql查找删除重复数据并只保留一条实例详解
有这样一张表,表数据及结果如下: school_id school_name total_student test_takers 1239 Abraham Lincoln High School 55 ...
- sql decimal函数例子_leetcode题库-sql练习精讲系列--三、经典排名问题
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...
- select 统计数量_leetcode题库-sql练习精讲系列--十三、简单分组统计类问题
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...
- angularjs 元素重复指定次数_leetcode题库-sql练习精讲系列--六、查找重复类问题
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...
- mysql timediff 时间相减_leetcode题库-sql练习精讲系列--十、日期时间函数的使用
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...
- sql根据条件删除重复数据保留一条
首先找到哪些数据是有重复记录的 over里是条件 select t.*,row_number() over(partition by t.ordercode,t.mobilephone,t.plate ...
最新文章
- Ant Design Vue select下拉列表设置默认值
- 在Docker中的ubuntu中安装Python3和Pip
- 守卫者的挑战(guard)
- Medoo 开源项目发布,超轻量级的PHP SQL数据库框架
- python一图带你精通time类型转换
- java parseint()
- JavaScript学习笔记:创建自定义对象
- DNS原理及其解析过程 精彩剖析
- simulink和psim仿真结果不同_(格麟倍)航空航天零件硬铬电镀工艺专业仿真评估工具...
- 进程间能否传递指针?
- HALCON 21.11:深度学习笔记---设置超参数(5)
- java.lang unsupported classversion解决方法
- PCL中把txt文件转换成.pcd文件(很简单)
- C++第2次实验2-三角形类
- 【LaTeX入门】02、CJK环境讲解
- ipone 手机不断出现电亡事件 是抹黑 还是真的如此
- CNN 卷积神经网络-- 残差计算
- B - -- - B
- 基于echarts+js+fexible.js实现的数据可视化适配案例(附源代码)
- 想来一杯奶昔吗?NEX-5R、NEX-6强势登场
热门文章
- Error in value[[3L]](cond) : You have a 32-bit version of Java. H2O works best with 64-bit Java.
- R语言可视化堆叠(stack)的条形图并通过另外一个分类变量分离(dodge)条形图(stacking by one variable and dodging by another)实战
- R语言二项分布函数Binomial Distribution(dbinom, pbinom, qbinom rbinom)实战
- Python可视化matplotlib多子图可视化(Multiple Subplots):plt.axes()、plt.subplot()、plt.subplots()、
- linux中调试脚本,在Linux下调试 Shell 脚本
- 统计学:统计学概述(一)
- SMRT测序技术及其在微生物研究中的应用
- 乾坤符和鸿蒙符,少年三国志四种暗金兵符技能怎么样 四种暗金兵符技能分析...
- github用相对路径显示图片_url-图像未显示在GitHub的README.md中
- fiash星空动画制作_三维动画制作的详细流程