Mysql 查找两列中都有的两个人id
下面是我所拥有的Mysql 查找两列中都有的两个人id,mysql,Mysql,下面是我所拥有的 +++++++++++++++++ +id1 + id2 + +++++++++++++++++ + 1 + 2 + + 2 + 1 + + 1 + 3 + + 3 + 2 + + 4 + 5 + + 5 + 4 + +++++++++++++++++ 我想找到的是两列中的两个人的id 下面是我要的 +++++++++++++++++ +id1 + id2 +
+++++++++++++++++
+id1 + id2 +
+++++++++++++++++
+ 1 + 2 +
+ 2 + 1 +
+ 1 + 3 +
+ 3 + 2 +
+ 4 + 5 +
+ 5 + 4 +
+++++++++++++++++
我想找到的是两列中的两个人的id
下面是我要的
+++++++++++++++++
+id1 + id2 +
+++++++++++++++++
+ 1 + 2 +
+ 2 + 1 +
+ 4 + 5 +
+ 5 + 4 +
+++++++++++++++++
或
或
你知道如何做到这一点吗
这应该让你开始:
SELECT
mytable1.id1, mytable1.id2
FROM
myTable mytable1,
myTable mytable2
WHERE
mytable1.id1 = mytable2.id2
AND
mytable2.id1 = mytable1.id2
ORDER BY
mytable1.id1
基本id列表如下所示:
select distinct t1.id1
from mytable t1
join mytable t2 on t1.id1 = t2.id2;
如果需要行,请执行以下操作:
如果需要任意两行:
select distinct t1.*
from mytable t1
join mytable t2 on t1.id1 = t2.id2
limit 2;
你试过什么吗?使用同一个表的
内部联接
可能会有所帮助,正如我所说的,我想我理解问题的标题,但是您需要的三个结果集令人困惑。大概只有一个结果集可以从中产生?你之前有或。。。我刚刚将它更新为,并且它工作了&我不需要特别的工具。您的查询中有一个给了我想要的结果。请参阅@FahimParkar——通常,最好选择有用的答案,并根据您的需要进行修改——只有您确切地知道自己想要什么。我敢说,对那些试图帮助你的人投反对票并不完全符合StackOverflow的精神,特别是如果他们有很好的代表性的话。
select distinct t1.id1
from mytable t1
join mytable t2 on t1.id1 = t2.id2;
select distinct t1.*
from mytable t1
join mytable t2 on t1.id1 = t2.id2;
select distinct t1.*
from mytable t1
join mytable t2 on t1.id1 = t2.id2
limit 2;