如何重新排列表格以获取 Mysql 中现有组合(双向)的列表?
例如,我有一个包含两列的表格
col1 col2
1 5
7 1
1 2
我想要一个新表(添加到现有表中),在其中翻转 col2 和 col1。
col1 col2
1 5
7 1
1 2
5 1
1 7
2 1
这使我可以在向两个方向查看时看到每个数字的所有值。
喜欢
1: 5, 2, 7
2: 1
5: 1
7: 1
希望这是有道理的。
感谢您的帮助!
最佳答案
使用联合
。
select col1,col2 from tbl
union
select col2,col1 from tbl
使用 union
而不是 union all
,因为当表中已存在对称对时,后者会给出重复行(例如组合 1, 5
5,1
)
然后使用group_concat
。
select col1,group_concat(col2)
from (select col1,col2 from tbl
union
select col2,col1 from tbl) t
group by col1
关于mysql - 如何重新排列表以获取 Mysql 中现有组合的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46778080/