有谁知道如何用n行表中的m列创建表,其中每行列中的值表示原始表中值的不同组合或排列?
例如,原始表具有1列(number_value)和3(n = 3)行:
1 2 3
包含两个值(m = 2)的组合(顺序无关紧要)的表如下:
number1, number2 1,2 1,3 2,3
排列表如下:
number1, number2 1, 2 2, 1 1, 3 3, 1 2, 3 3, 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值,您需要添加更多的联接。