从一列创建对而不重复值

时间:2019-07-18 06:03:28

标签: mysql sql

这里是一个例子。 有一个称为国家的列,其中包含五个值。 我想创建包含两个国家的货币对。两国在另一对中不再重复。 例如 (印度,印度)无效。 (印度,北)和(印度,北)不能两次来。一对有效。 我正在使用MysqlV5.7

国家/地区

India
china
eng
pak

输出对

India,china
India,eng
India,pak
china,eng
china,pak
eng,pak

1 个答案:

答案 0 :(得分:1)

您可以使用JOIN

select CONCAT_WS(',',t1.Country,t2.Country) AS PAIRS
FROM  
test t1
JOIN
test t2
ON t1.Country!=t2.Country AND t1.Country<t2.Country;

DEMO