mysql查找条目匹配2个方向的2个字段

时间:2013-02-22 14:30:19

标签: mysql sql

可能错误的标题 我有一个帮助表确实在2个字段中保持关系。

像usera,userb

示例数据

a,b
1,2
1,5
1,6
2,1
2,3

匹配将是2个用户在两个方向聚集在一起。 在我的例子中,这将是1和2 因为两行都有一行保存userb中的对应部分

任何人都可以告诉我如何根据一个用户构建一个mysql查询来查找表中的匹配项吗?

1 个答案:

答案 0 :(得分:0)

尝试一下,假设行是唯一的

SELECT least(Col1, Col2) as x, 
       greatest(Col1, Col2) as y
FROM   Table1 
GROUP  BY x, y
HAVING COUNT(*) > 1

但如果行不是唯一的,那么您需要有DISTINCT个关键字

SELECT least(Col1, Col2) as x, 
       greatest(Col1, Col2) as y
FROM   Table1 
GROUP  BY x, y
HAVING COUNT(DISTINCT Col1, Col2) > 1