数据库中有这些数据:

+----+------------+---------+
| id | col1       | col2    |
+----+------------+---------+
|  1 |          3 |       2 |
|  2 |          2 |       3 |
|  3 |          4 |       5 |
+----+------------+---------+

我试图做一个查询,这将给我一个行的计数,其中是相同的数字。
我知道其中一个(数字)的价值。
在本例中,相同的数字是2和3(在col1和col2列中)-我试图从数据库2(两行)中获取。我总是有两个号码中的一个——在这个例子中是3号。
是否可以执行此查询?
谢谢你的帮助。

最佳答案

对于您指定的非常狭窄的场景,我将尝试:

select count(*)
from myTable mt1
     inner join myTable mt2 on (mt1.col1 = mt2.col2 AND mt2.col1 = mt1.col2)
and mt1.col1 = 3 --here goes the known value

这只适用于您发布的数据。请让我们知道以下场景的计数:
+----+------------+---------+
| id | col1       | col2    |
+----+------------+---------+
|  1 |          3 |       2 |
|  2 |          2 |       3 |
|  3 |          3 |       2 |
|  4 |          3 |       5 |
|  5 |          4 |       5 |
+----+------------+---------+

07-24 09:37
查看更多