有没有人知道如何从n行的表格中创建一个m列的表,其中每行的列中的值表示来自原始表的值的不同组合或排列?
例如,原始表格有1列(number_value),带有3(n = 3)行:
1 2 3
包含两个值(m = 2)的组合(顺序无关)的表格将如下所示:
number1,number2 1,2 1,3 2,3
并且排列表将如下:
number1,2 2,1 1,3 3,1 2,2
行的顺序并不重要.
先谢谢你!
解决方法
组合:
SELECT T1.x,T2.x FROM your_table T1 JOIN your_table T2 ON T1.x < T2.x
排列:
SELECT T1.x,T2.x FROM your_table T1 JOIN your_table T2 ON T1.x != T2.x
我假设原始表格中的值是唯一的.
为了推广更大的m值,您需要添加更多的连接.