1 题目描述

2 解题思路

2.1 双表联立

DELETE p1
FROM Person p1, Person p2
WHERE p1.Email = p2.Email AND p1.Id > p2.Id

把相同邮箱,大的都去掉

2.2 使用子查询

用子查询的分组操作,找到每一个email的最小id号,然后将不是最小id号的删除

DELETE p1
FROM Person p1
WHERE p1.Id NOT IN (SELECT(a.id) FROM(SELECT MIN(P2.Id) AS idFROM PERSON P2GROUP bY P2.Email) a)

这道题卡了一段时间,一开始我是这么写的:

DELETE p1
FROM Person p1
WHERE p1.Id NOT IN (SELECT MIN(P2.Id) AS idFROM PERSON P2GROUP bY P2.Email)

然后报错“You can't specify target table 'p1' for update in FROM clause“

什么意思呢?就是我们在DELETE Person表的同时,对Person表进行了子查询,SELECT筛选操作。

解决方法就像上面一样,我们再套一层。这样进行DELETE和筛选的表就不一样了

文巾解题 196. 删除重复的电子邮箱相关推荐

  1. 文巾解题 182. 查找重复的电子邮箱

    1 题目描述 2 解题思路 2.1 HAVING语句 SELECT P.Email FROM Person P GROUP BY P.Email HAVING COUNT(*)>1 2.2 嵌套 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. IJCAI 2019精选论文一览,从底层到应用都有了
  2. 查看linux系统的性能
  3. mysql 怎么导入函数_mysql导入导出包括函数或者存储过程_MySQL
  4. MySQL非分片字段查询_Mycat从入门到放弃-Go语言中文社区
  5. Linux中find命令详解
  6. 计算机基础教育学,计算机基础教育教学改革与创新
  7. C++,string类的指针,string类数组的指针 string *s
  8. mr图像翻转的原因_MR的特殊检查脂肪抑制
  9. datagrid底部显示水平滚动_CSS flex 布局,头部和底部固定,中间出现滚动条
  10. 专访勒索组织“范本”:Thedarkoverlord 喜欢并享受辽阔的狩猎场
  11. 【带权并查集题目汇总】
  12. sklearn- 一元线性回归
  13. 计算机中英文打字文章,中英文混合打字文章
  14. Vue+axio实现在线音乐播放器
  15. Si5395/94/92时钟芯片配置步骤
  16. java rd th 小票机_英语日期rd,th有什么区别,怎么运用
  17. fnl数据下载之requests,urllib等安装
  18. 纳秒脉冲等离子体放电
  19. EasyExcel 导出 excel(二)添加序号列,设置excel打印样式,导出即可打印
  20. 面试阿里巴巴有多难,看看面经你就知道了

热门文章

  1. 【iOS】【项目全局动态埋点】Runtime+Aspects(hook)
  2. [Java 安全]加密算法
  3. Ubuntu安装PostgreSQl
  4. 《BOOST程序库完全开发指南》 第11章 函数与回调
  5. [翻译]Chameleon介绍(3) : 列表控件
  6. 一个讲解WiFi和蓝牙协议的视频课程网站
  7. PAT甲级1027 Colors in Mars :[C++题解]进制位
  8. ajax和cs的关系,fetch、axios 与Ajax之间关系
  9. 纯jsp实现评论功能_基于云开发的小程序版本更新、评论功能改进、后台管理的实现...
  10. c51单片机的语言,51单片机,stm32,arduino都是用什么语言进行编程的?