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`;
首先,有一个表,表名test,数据如下: id name 1 张 1 董 1 朱使用sql:select a.id,a.name,a1.name from test a join test a1 on a.id = a1.id and a.`name`!=a1.`name`; id name1 name2 1 张 董 1 张 朱