社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

多列MySQL内部联接

wwl • 6 年前 • 1481 次点击  

假设我叫了下表 Email ,在哪里 Id 是主键:

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | anne@example.com |
| 2  | cat@example.com  |
| 3  | anne@example.com |
+----+------------------+

我正在尝试删除除第一个之外的所有重复项。因此,在这种情况下,所需的输出将是

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | anne@example.com |
| 2  | cat@example.com  |
+----+------------------+

在问了一个朋友之后,我发现这个解决方案是有效的:

DELETE t1 FROM Person t1 INNER JOIN Person t2
Where t1.Email=t2.Email and t1.Id > t2.Id

我的问题是为什么这样做有效?尤其是当 t1 内连 t2 电子邮件 字段,程序如何知道 anne@example.com 应该与哪个匹配,因为这个值有多个不同的ID?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38928
 
1481 次点击  
文章 [ 3 ]  |  最新文章 6 年前