0

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

像 usera,userb

示例数据

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

如果 2 个用户在两个方向上走到一起,则匹配。在我的示例中,这将是 1 和 2,因为两者都有一行包含 userb 中的对应项

谁能告诉我如何构造一个 mysql 查询来根据一个用户在表中找到这个匹配项?

4

1 回答 1

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
于 2013-02-22T14:38:35.720 回答