Mysql 从列创建对而不重复值

Mysql 从列创建对而不重复值,mysql,sql,Mysql,Sql,这里有一个例子。 有一个名为country的列,包含五个值。 我想创建包含两个国家的配对。这两个国家不会在另一对中重复。 例如 (印度,印度)无效。 (印度,巴基斯坦)和(巴基斯坦,印度)不能来两次。这对中的任何一个都是有效的。 我正在使用MysqlV5.7 国家 India china eng pak 输出对 India,china India,eng India,pak china,eng china,pak eng,pak 您可以使用JOIN select CONCAT_WS(',',

这里有一个例子。 有一个名为country的列,包含五个值。 我想创建包含两个国家的配对。这两个国家不会在另一对中重复。 例如 (印度,印度)无效。 (印度,巴基斯坦)和(巴基斯坦,印度)不能来两次。这对中的任何一个都是有效的。 我正在使用MysqlV5.7

国家

India
china
eng
pak
输出对

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

您可以使用
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;
成对选择CONCAT_WS(',',t1.Country,t2.Country)
从
测试t1
加入
测试t2

在t1上。国家=t2.Country和t1.Country您的问题是什么,您尝试过什么?您的mysql版本是什么?(印度,巴基斯坦)和(巴基斯坦,印度)不能出现两次,但在您的预期输出中,它出现了两次编辑问题。。如果在mysql中很难实现,请告诉我实现这一点的想法或逻辑done@TomG查看我的最新答案你可以在这里查看不同网站上的许多问题(谷歌it:)