当前位置: 首页 > news >正文

关于网站建设的一些事韩雪冬网站设计

关于网站建设的一些事,韩雪冬网站设计,网站运营心得,免费建站软件【Leetcode】高频SQL基础题–196.删除重复的电子邮箱 要求:编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。 (对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。) &…

【Leetcode】高频SQL基础题–196.删除重复的电子邮箱

要求:编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。
(对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。)
(对于 Pandas 用户,请注意你应该直接修改 Person 表。)
运行脚本后,显示的答案是 Person 表。驱动程序将首先编译并运行您的代码片段,然后再显示 Person 表。Person 表的最终顺序 无关紧要 。

解题思路1:
1、使用内部子查询 SELECT MIN(id) FROM Person GROUP BY email返回每个电子邮件的最小id。然后,外部的 DELETE删除不在这个列表中的id。

解题思路2:
1、使用自连接,对于每个电子邮件,如果存在更小的id(p1.id > p2.id),则删除当前id(p1)。
这直接避免了子查询,性能更好。

代码1:

DELETE FROM Person
WHERE id NOT IN (SELECT min_id FROM (SELECT MIN(id) AS min_idFROM PersonGROUP BY email) AS temp
);

注意:
1、为什么子查询外还要再套一层查询?
为了避免MySQL的“同时查询与更新”错误
MySQL不允许在一条DELETE(或UPDATE)语句中,​​同时查询和修改同一张表​​。内层子查询和外层DELETE操作的都是Person表,这就会触发MySQL的这个限制。所以,​​将内层查询的结果包装成一个临时的派生表​​。外层DELETE语句不再直接查询原始表,而是查询这个临时出来的、结果集固定的“表”。
执行逻辑:
1、数据库会先执行最内层的查询 SELECT MIN(id) AS min_id FROM Person GROUP BY email,得到一个包含所有需要保留的最小ID的结果集。
2、然后将这个结果集​​物化​​为一个临时的、只在当前查询中存在的派生表,我们给它起名为 temp_table。
3、接着,外层 SELECT min_id FROM temp_table只是从这个临时表中简单地取出所有 min_id,组成一个最终的ID列表。
4、最后,外层的 DELETE语句根据这个最终的ID列表执行删除操作。

代码2:

DELETE p1 
FROM Person p1, Person p2
WHERE p1.email = p2.email AND p1.id > p2.id;
http://www.dtcms.com/a/557450.html

相关文章:

  • 如果做网站有做教育行业的招聘网站吗
  • 56.合并区间
  • 卡尔曼滤波算法原理详解:核心公式、C 语言代码实现及电机控制 / 目标追踪应用
  • 互联网创业项目整合网站创建一个公司需要什么
  • 便宜的网站设计企业重庆医院门户网站建设
  • 做网站要会那些ps公司核名查询官网
  • YAML 配置文件格式
  • Linux网络--网络基础概念
  • 网站没有内容 能做优化吗新网站关键词怎么优化
  • Arbess实践指南(1) - 使用Arbess+gitee+sourcefare实现Java项目自动化部署及代码扫描
  • 《系统规划与管理师教程(第2版)》方法篇-第7章 网络环境规划 知识点总结
  • 萧县哪有做网站的制作网站民治
  • 力扣2517. 礼盒的最大甜蜜度
  • 哪个网站可以直接做ppt简单网页模板
  • 福州网站建设托管个人网站设计成品下载
  • Android WebView 从入门到最佳实践
  • 青岛公路建设集团有限公司网站好乐买网站推广方式
  • 自定义字段/动态字段的实现方法汇总
  • Python---数据容器(Dict 字典)
  • zabbix实现监控Hadoop、Docker、SSL证书过期时间应用的保姆级实操流程
  • 怎么在网站空间上传文件西地那非口崩片
  • Linux 容器安装 conda 和 pip
  • 中国建设银行企业门户网站wordpress theme 企业
  • k8s问答题(1)
  • 怎么用dw做带登陆的网站北京新网数码信息技术有限公司
  • MySQL 5.7 安装Audit 审计日志插件
  • 【Docker】P5 Docker Compose 实战指南:一键部署 WordPress + MySQL
  • 升鲜宝供应链管理系统-生鲜配送系统_分拣端界面重构设计(一)
  • 网站降权的原因discuz论坛网站做的门户
  • 【GitHub探索】代码开发AI辅助工具trae-agent