MySQL 的 INNER JOIN DISTINCT
我有一个 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 中存在不唯一的 otherid2。我需要的是以某种方式 INNER JOIN DISTINCT,我只希望结果如下。不重复。
这就是我想要的:
id otherid
1 | 1
2 | 1
3 | 3
4 | 3
我可以用简单的方法做到这一点吗?
I have a mysql problem. I have two tables like this that I need to join together.
table:
id otherid2
1 | 1
2 | 1
3 | 2
4 | 2
table2:
otherid otherid2
1 | 1
2 | 1
3 | 2
4 | 2
I'm using:
SELECT id,otherid FROM table INNER JOIN table2 ON table.otherid2=table2.otherid2
This gives me:
id otherid
1 | 1
1 | 2
2 | 1
2 | 2
3 | 3
3 | 4
4 | 3
4 | 4
As you can see I get duplicates of id as there is otherid2s that is not unique in table2. What I need is to INNER JOIN DISTINCT in some way, I only want the result to be as below. Not duplicates.
This is what I want:
id otherid
1 | 1
2 | 1
3 | 3
4 | 3
Can I do this in an easy way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你想要 table2 中 id 最小的行,这应该可以做到
If you want the row with the lowest id in table2, this should probably do it
在您的评论中,您想要最低的,那么我建议使用一个分组依据和一个最小聚合器
In your comment you wanted the lowest, then I'd suggest a group by and a min aggregator