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