2019独角兽企业重金招聘Python工程师标准>>>

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

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+
Id 是这个表的主键。

例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+

答案:

解法一:

#按Email分组 , 获取分组后查询出来的sql的id,删除不包含这些id的数据
DELETE FROM Person WHERE Id NOT IN
(SELECT Id FROM (SELECT MIN(Id) Id FROM Person GROUP BY Email) p);

解法二:

#直接用where将两表关联起来也,把相同邮箱且Id大的删除掉
DELETE p2 FROM Person p1, Person p2
WHERE p1.Email = p2.Email AND p2.Id > p1.Id;

转载于:https://my.oschina.net/u/3568600/blog/1812656

【LeetCode】196. 删除重复的电子邮箱相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 【LeetCode-SQL每日一练】—— 196. 删除重复的电子邮箱

最新文章

  1. Mysql 数据库命令行导出导入sql脚本
  2. BZOJ2752: [HAOI2012]高速公路(road)(线段树 期望)
  3. 修改用户和用户组权限
  4. HaaS UI小程序
  5. [精品]CSAPP Bomb Lab 解题报告(二)
  6. C++(14)--面向对象
  7. shell执行的特殊变数
  8. 常用adb shell 命令
  9. group by 查询分组后 各组的内部条数与组的条数
  10. C# 获取打开的EXCEL中某列的行数
  11. 软件测试基础知识大全
  12. 使用Robotframework-ride,导入Selenium2Library库后缺少“Open Browser”关键字
  13. js操作浏览器cookie详解
  14. Python函数中定义函数
  15. scintilla 中的代码折叠功能的使用
  16. msocache是什么文件夹
  17. 卡巴斯基和Endtab.org开设新课程教授用户如何防范人肉搜索
  18. W ndows7蓝屏0x00000024,Win7蓝屏代码0x00000024修复方法
  19. 计算机肉机,哪位高手指教下,电脑是否成为肉机怎么辨别哈??
  20. filco蓝牙不好用_FilcoMinilaAir蓝牙机械键盘使用感受,做工精细手感优良但并不完美...

热门文章

  1. java springcloud 微服务设计方案
  2. 发力“幸福感”消费,荟语酒店如何引领创新体验?
  3. 两个技巧、一个图表设计工具,教你快速突出图表重点
  4. Jetson Nano B01 从零入门笔记系列(一)基本组装与启动问题
  5. Layui获取ID,点击加载表格
  6. 关于UE4使用中虚幻商城保管库的目录问题
  7. JavaScript之轮播图制作
  8. 零基础自学python要多久?
  9. 微信小程序日历组件(可滑动,可展开收缩,可标点)
  10. Leetcode编程C++之1106. 解析布尔表达式