算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !

今天和大家聊的问题叫做 删除重复的电子邮箱,我们先来看题面:

https://leetcode-cn.com/problems/delete-duplicate-emails/

Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.

题意

编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

解题

  • 查询目标:删除一条记录

  • 查询范围:Person表

  • 查询条件:删除所有重复的电子邮箱 ,重复的邮箱里只保留Id最小的哪个。
    显然,通过这个查询条件可以提取出来两条and关系的条件:
    (1)找出所有重复的电子邮箱(2)删除Id大的重复邮箱;
    对于条件(1),需要判断出所有重复的电子邮箱,即p1.Email = p2.Email
    对于条件(2),需要判断重复邮箱中Id较大的:p1.Id > p2.Id

delete p1
from Person p1,Person p2
where (p1.email = p2.email) and (p1.id > p2.id)

好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。

上期推文:

LeetCode1-180题汇总,希望对你有点帮助!

LeetCode刷题实战181:超过经理收入的员工

LeetCode刷题实战182:查找重复的电子邮箱

LeetCode刷题实战183:从不订购的客户

LeetCode刷题实战184:部门工资最高的员工

LeetCode刷题实战185:部门工资前三高的所有员工

LeetCode刷题实战186:翻转字符串里的单词 II

LeetCode刷题实战187:重复的DNA序列

LeetCode刷题实战188:买卖股票的最佳时机 IV

LeetCode刷题实战189:旋转数组

LeetCode刷题实战190:颠倒二进制位

LeetCode刷题实战191:位1的个数

LeetCode刷题实战192:统计词频

LeetCode刷题实战193:有效电话号码

LeetCode刷题实战194:转置文件

LeetCode刷题实战195:第十行

​LeetCode刷题实战196:删除重复的电子邮箱相关推荐

  1. LeetCode SQL 196. 删除重复的电子邮箱

    196. 删除重复的电子邮箱 Ideas 首先Person表与自身在Email列中连接起来,然后需要找到具有相同Email地址的更大ID,这就是我们要删除的记录. Code delete p1 fro ...

  2. 【SQL】 196.删除重复的电子邮箱

    196. 删除重复的电子邮箱 编写一个 SQL 删除语句来 删除 所有重复的电子邮件,只保留一个id最小的唯一电子邮件. 以 任意顺序 返回结果表. (注意: 仅需要写删除语句,将自动对剩余结果进行查 ...

  3. 【LeetCode】196. 删除重复的电子邮箱

    2019独角兽企业重金招聘Python工程师标准>>> 编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. +----+- ...

  4. 数据库题目 - 196. 删除重复的电子邮箱

    文章目录 1.题目描述 2. 解答 1.题目描述 编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. ±-±---------------- ...

  5. LeetCode_database刷题记录(182. 查找重复的电子邮箱)

    编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱. 示例: Id Email 1 a@b.com 2 c@d.com 3 a@b.com 根据以上输入,你的查询应返回以下结果: Em ...

  6. [196]. 删除重复的电子邮箱

    文章目录 1.题目 2.示例 3. 答案 ①.连接 ②.分组 错误答案 1.题目 表: Person ±------------±--------+ | Column Name | Type | ±- ...

  7. 196. 删除重复的电子邮箱

    问题描述: SQL架构 表: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | i ...

  8. 【LeetCode-SQL】196. 删除重复的电子邮箱

    目录 一.题目 二.解决 1.关联去除 2.分组删除 3.开窗之row_number() 三.参考 一.题目 表: Person +-------------+---------+ | Column ...

  9. 196. 删除重复的电子邮箱表

    表: Person +-------------+---------+ | Column Name | Type    | +-------------+---------+ | id         ...

  10. 文巾解题 196. 删除重复的电子邮箱

    1 题目描述 2 解题思路 2.1 双表联立 DELETE p1 FROM Person p1, Person p2 WHERE p1.Email = p2.Email AND p1.Id > ...

最新文章

  1. 年中总结(2013年3月到2013年9月)
  2. 淘宝应对双11的技术架构分析
  3. 韶关无线电厂台式计算机,中国芯片30年的历史 它背后有哪些不为人知的故事?...
  4. java基础判断题_java基础知识周测试题带答案
  5. Redis HyperLogLog 是什么?这些场景使用它~
  6. 20 WM配置-策略-定义出库排序序列(拣配)
  7. java 柯里化_函数式编程(Java描述)——Java中的函数及其柯里化
  8. Super expression must either be null or a function, not undefined
  9. Asp.NetCore远程自启动、重启、关闭实现
  10. 蓝桥杯官网练习系统基础练习(一)
  11. 奥维地图从服务器获取信息超时,2021奥维地图不能用了原因及解决办法
  12. 软考中级哪一门比较好过?我建议你考这个。
  13. 一篇通俗易懂的文章初探NIO
  14. Ubuntu下载软件包连接失败
  15. 51单片机c语言宏定义是什么意思,51单片机的C语言宏定义应用.doc
  16. 用python画皮卡丘画法-用python画一只可爱的皮卡丘实例
  17. 蜂窝物联网通信技术的演进,有人竟然用“谈恋爱”的过程给讲明白了
  18. RabbitMQ在特来电的深度应用
  19. u盘启动 v5 华为2288h_华为2288H-V5 组RAID安装系统
  20. nvidia显示设置不可用_纯干货!手把手教你为FreeSync显示器开启G-Sync教程

热门文章

  1. Android 安卓腾讯云互动直播开发新手入坑几点建议
  2. 戴尔豪斯大学计算机科学学费,加拿大研究生申请案例:渥太华大学录取:电子商业科技申请案例【2013】...
  3. 正则表达式限制只能输入中文英文数字
  4. 百度html标签大全,百度指数千牛帮:做出出色的HTML网站页面注意事项有哪些?...
  5. 学会这120个PS小技巧,工作效率提高5倍!
  6. C++ 函数其实可以不用写返回值的声明!
  7. MySQL基础(约束 多表查询)
  8. 实验四——反汇编工具的使用
  9. unity给头发添加物理_U3D实时渲染教程之角色头发各向异性表达(上)
  10. Metasploit——渗透攻击模块(Exploit)