(SQL)196. 删除重复的电子邮箱

17 篇文章 0 订阅

编写一个 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  |
+----+------------------+

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/delete-duplicate-emails
 

题解一:1、通过子查询找出所有重复的行; 

select b.Id from Person a,Person b where b.Id>a.Id and b.Email=a.Email

                2、由于MySQL不能 select 和 delete 操作同一张表,因此创建临时表tem;

(select Id from (select b.Id from Person a,Person b where b.Id>a.Id and b.Email=a.Email) as tem)

                3、 在此表中的数据应该全部删除;

delete 
      from Person 
where 
      Id 
in
      (select Id from (select b.Id from Person a,Person b where b.Id>a.Id and b.Email=a.Email) as tem);

题解二:利用两表联立的笛卡尔积,直接delete

delete 
      b
from 
      Person a,Person b   
where 
      b.id>a.id and b.Email=a.Email;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
3.0 RC5gbk增加团购及秒杀 完整版 build20120208 (去除支付插件需付费机制,删除中移动支付和交行支付接口 /===============================================v3.0 RC4====================================================/ 自3.0以后的版本和原2.X的模板不兼容  内核,文件名均有变化 调整 网站皮肤 原商城系统皮肤和新版皮肤将不兼容 调整 网站后台皮肤 用户体验更好 调整 会员加密方式 使用混合加密方式 调整 订单支付日志的处理 调整 后台内核 速度更快 重新划分权限 把数据库管理归到创始人权限下管理 调整 订单支付逻辑处理 调整 购物车购买流程 调整 因部分IIS 主机设置为index.html,index.php的先后顺序 非伪静态模式时改原路径模式?为index.php? 调整 session过期时间 改为3600秒,可以在php.config.php 找到 define('SESSION_EXP_TIME',3600);/*session过期时间*/ 若没有增加一行 调整 清除缓存的设置 合并模板缓存的删除功能 调整 网站皮肤的管理权限归创始人拥有 即时非创始人拥有下载、上传、备份权限也不能使用 完善 订单的逻辑处理 完善 订单 操作流程 增加对货到付款的处理 完善 添加编辑商品时品牌数据多时查找麻烦的的问题 完善 商品批量导出的操作 完善 静态生成的处理 完善 订单的编辑处理 废弃原来的单一修改为统一处理 完善 数据报表的处理 支持数据报表的导出 废弃 原编辑器改为使用kindeditor(代码过滤稍比原编辑器弱) 废弃 自定义后台菜单功能 废弃 管理员后台登陆路径须手动调整 废弃 原商品规格处理模式,启用新模式 (若已有用户使用商品规格须手动处理) 废弃 原商品分类处的商品筛选模式,使用新的筛选模式(可后台控制) 废弃 后台对IE6的全面支持,请升级到IE7以上使用 合并 原广告和广告位 统一为广告位处理 重写 支付接口 调整支付接口为插件安装模式 重写 会员接口 采用插件模式 增加 商品独立管理开关(若开启后 管理员可以把后台开放给经销商让其添加数据,所有的数据均独立开,所有添加或编辑后的商品均需要审核处理) 增加 满X元强制使用的物流方式 增加 订单退换货的开关 增加 蜘蛛类型后台设置 增加 前后台访问IP控制 增加 订单退款开关 增加 使用会员余额支付开关 增加 发票开关 增加 积分控制开关(比如充值送积分,积分自动折半等) 增加 免运费设置 增加 特殊商品分类 针对不同的商品对应的物流方式 增加 后台皮肤自由更换 增加 充值送积分 增加 开发模式与运行模式的开关 增加 配送方式费用计算(重大调整) 增加 取消订单,用户退款退货功能 增加 后台 用户资金日志分页功能 增加 礼品兑换功能(礼品订单不走原订单系统) 增加 日志记录搜索 增加 会员重命名 增加 会员重新激活 增加 特殊商品设置 增加 配送方式多模式设置(是否根据用户填写的送货地址计算配送方式和使用管理员费用计算) 增加 商品管理员开关(除管理员外 只能是某个加的管理员管理) 增加 邮件队列功能(延迟发信) 所有发信默认采用延迟发信 增加 商品分类多属性自由后台控制 URL模式变更 增加 易宝支付接口 增加 短信群发功能 增加 URL模式开关 调整原来 index.php?为index.php? 若主机不支持类似yousite.com/index.php/goods/detail/id-10.html地址访问 将不能支付 增加 商品,订单,会员 外部调用接口 增加 快递单跟踪接口 增加 商品品牌和供应商拼音操作的添加操作 增加 会员导出自定义选项 增加 会员高级搜索选项 增加 购物券高级搜索和购物券规则高级搜索 增加 购物券的使用记录 增加 获得购买过此商品的人的购买的其他的商品 增加 获取会员到目前为止的订单统计数据 增加 广告采用JS调用的方法 支持外部站点引用 增加 每个分类和品牌均可自由设置对应分类或品牌下的幻灯片 增加 商品套装(组合销售) 增加 支付宝快捷登陆 QQ登陆 百度API登陆 等 全插件安装模式 增加 地区商品的处理 增加 地区产地商品的处理 增加 商品自定义筛选(自由控制) 增加 使用货到付款时支付增加额外费用开关 增加 积分商品(积分 RMB购买,积分购买,RMB购买) 合并在订单一起处理 增加 管理员后台处理会员的收货地址 增加 订单的权限控

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值