mysql - MySQL中的传递集
解决方案
我将其视为一系列连接。您可以使用它row_number()
来生成主键。您的要求翻译为:
with data as (select t.*, row_number() over(order by null) rn from mytable t)
select
from data d1
inner join data d2
on d2.x = d1.y
and d2.rn <> d1.rn
inner join data d2
on d3.x = d1.x
and d3.y = d2.y
and d3.rn <> d2.rn
and d3.rn <> d1.rn