需求:sql实现排列组合
有这样一张表,存放6行: a b c d a b,在去重之后,实现排列组合生成ab ac ad ba bc bd ca cb cd da db dc,一共4*3=12种结果
表名:table_a
id | name |
1 | a |
2 | b |
3 | c |
4 | d |
5 | a |
6 | c |
select
sys_guid(),
concat(temp1.name,temp2.name),
from (select distinct name from table_a) as temp1
inner join
(select distinct name from table_a) as temp2
on temp1.name != temp2.name;