【发布时间】:2020-09-23 21:16:31
【问题描述】:
我有两张桌子。除了电子邮件之外,两者都有不同的值。我从两个表中选择同一电子邮件上第二个表的左连接。不幸的是,第一个表中有重复的电子邮件。
+-------+----------+------+
| email | address | id |
+-------+----------+------+
| a | a | 1 |
| b | b | 2 |
| c | c | 3 |
| a | d | 4 |
+-------+----------+------+
+-------+----------+------+
| email | password | etc |
+-------+----------+------+
| a | a | 1 |
| b | b | 2 |
| c | c | 3 |
| d | d | 4 |
+-------+----------+------+
我的目标是在每封电子邮件中仅获取不同的行,并选择 table1 中 id 最高的行
到目前为止,我的查询看起来像这样:
SELECT t2.email, t1.address, t2.city
FROM t1
LEFT JOIN t2 ON t1.email = t2.email
WHERE t1.email IS NOT NULL
如何在没有这些重复项的情况下获得想要的结果?
编辑
+-------+----------+------------+
| email | address | password |
+-------+----------+------------+
| a | a | 1 |
| b | b | 2 |
| c | c | 3 |
| d | d | 4 |
+-------+----------+------------+
【问题讨论】:
-
显示你想要的结果。
-
同时指定预期结果。