gpt4 book ai didi

sql - 如何在m列中生成n行的排列或组合?

转载 作者:行者123 更新时间:2023-12-03 11:53:32 24 4
gpt4 key购买 nike

有谁知道如何用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值,您需要添加更多的联接。

关于sql - 如何在m列中生成n行的排列或组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4159595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com