这是我第一次提出问题。这是我第一次无法找到我正在寻找的东西而且我觉得我很生气,因为它应该很简单!
假设您有一个MySQL表,'T'有两列'A','B'。
A B
---
1 2
2 1
1 3
3 1
2 4
我想根据变量来计算相互关系。所以,如果我提供
X = 1
它应该返回
2
因为存在1,2和2,1,并且存在1,3和3,1。但是,供应
X = 2
它应该返回
1
因为1,2和2,1存在,但没有其他行,其中2 = n AND n = 2。
我希望这很清楚!并且道歉,如果它很简单,感觉我正在大脑冻结.. 干杯!
答案 0 :(得分:4)
这将有效(但是如果你有一行(n,n)它也会被视为相互关系):
select count(*) from T t1
join T t2 on t1.B = t2.A
where t1.A = ? and t2.B = ?
(为两个参数传递相同的值)