MySQL计算a = b和b = a的行

时间:2011-09-01 21:44:55

标签: php mysql mysqli

这是我第一次提出问题。这是我第一次无法找到我正在寻找的东西而且我觉得我很生气,因为它应该很简单!

假设您有一个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。

我希望这很清楚!并且道歉,如果它很简单,感觉我正在大脑冻结.. 干杯!

1 个答案:

答案 0 :(得分:4)

这将有效(但是如果你有一行(n,n)它也会被视为相互关系):

select count(*) from T t1
join T t2 on t1.B = t2.A
where t1.A = ? and t2.B = ?

(为两个参数传递相同的值)