Py学习  »  DATABASE

多列MySQL内部联接

wwl • 6 年前 • 1499 次点击  

假设我叫了下表 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
 
1499 次点击  
文章 [ 3 ]  |  最新文章 6 年前