我大约有150个名字,它们由16万个不同的ID编号链接在一起。我想获得这些名称的独特组合。例如,John和Kate这两个名字可以通过不同的ID链接数千次,但是我只想知道John和Kate是一个链接对。在某些情况下,有两个以上的名称链接。例如,这是我的表格当前的样子:
ID| Name|
1| Mike|
1|John |
2|Kate |
2|John |
3|Frank|
3|Ted |
3|Blue |
4|John |
4|Mike |
5|John |
5|Kate |
6|John |
6|Kate |
在这种情况下,我们根据各种ID进行组合。我们也有多余的组合;例如id1和4,以及2、5、6。我希望输出只是给我不同的组合,而不管它们在表中出现的顺序如何。输出如下:
Name1| Name2 |Name3
Mike | John |
Kate | John |
Frank| Ted | Blue
4将被省略,因为它的第一行; 5、6将被省略,因为它被第二行覆盖了。
答案 0 :(得分:0)
对于链接的对,您将使用自联接:
select distinct t1.name, t2.name
from t t1 join
t t2
on t1.id = t2.id and t1.name < t2.name;
我不清楚这是否可以解决您的整个问题。