INNER JOIN DISTINCT与MySQL

时间:2010-10-04 11:16:04

标签: mysql select distinct inner-join

我有一个mysql问题。我有两个这样的表,我需要一起加入。

表:

  

id otherid2
      1 | 1
      2 | 1
      3 | 2
      4 | 2

表2:

  

otherid otherid2
     1 | 1
     2 | 1
     3 | 2
     4 | 2

我正在使用:

SELECT id,otherid FROM table INNER JOIN table2 ON table.otherid2=table2.otherid2

这给了我:

  

id otherid
     1 | 1
     1 | 2
     2 | 1
     2 | 2
     3 | 3
     3 | 4
     4 | 3
     4 | 4

正如你所看到的,我得到了id的重复,因为在table2中有otherid2s不是唯一的。我需要的是以某种方式INNER JOIN DISTINCT,我只希望结果如下。不重复。

这就是我想要的:

  

id otherid
     1 | 1
     2 | 1
     3 | 3
     4 | 3

我可以轻松地完成这项工作吗?

2 个答案:

答案 0 :(得分:8)

如果你想在table2中使用id最低的行,这应该可以这样做

SELECT id, min(otherid)
FROM table 
INNER JOIN table2 
ON table.otherid2=table2.otherid2
GROUP BY id

答案 1 :(得分:2)

在你的评论中你想要最低,然后我会建议一个分组和一个最小聚合器

SELECT id, MIN(otherid) AS otherid ... GROUP BY id