所以这是我的桌子
|a_id|b_id|
|x |y |
|y |x |
|d |c |
|c |d |
|... |... |
还有很多...
获得所有配对的最佳方法是什么?例如从上面的例子 (x 和 y) 和 (d 和 c)
我从来没有使用过没有特定 id 的 sql
select t1.a_id
, t1.b_id
from YourTable t1
join YourTable t2
on t1.a_id = t2.b_id
and t1.b_id = t2.a_id
where t1.a_id > t2.a_id
SELECT a_id, b_id
FROM TableName
WHERE (LEAST(a_id, b_id), GREATEST(a_id, b_id), a_id) in
(
SELECT LEAST(a_id, b_id) as x,
GREATEST(a_id, b_id) as y,
MIN(a_id) as a_id
FROM TableName
GROUP BY x, y
)