select a.id,a.name,a1.namefrom test a
join test a1 on a.id = a1.idand a.`name`!=a1.`name`;
id
name1
name2
1
张
董
1
张
朱
1
董
张
1
董
朱
1
朱
董
1
朱
张
3.去重,需要把上表数据去重,即(董,张)和(张,董)算作重复数据
select if(strcmp(a.name,a1.`name`)>0,a.`name`,a1.`name`),if(strcmp(a.name,a1.`name`)<0,a.`name`,a1.`name`)
from test a
join test a1 on a.id = a1.id anda.`name`!=a1.`name`;