我有一个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
我可以轻松地完成这项工作吗?
答案 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