SQL Server : generate possible combinations of numbers

标签 sql sql-server numbers combinations

我总共有 41 个数字,我正在尝试生成这些数字之间 6 位数字的可能组合,并将它们插入 SQL Server 中的表中。

有人可以帮我做到这一点吗?

非常感谢!

最佳答案

要生成所有可能的排列(41!/(6!*(41-6)!) 不到 450 万个),您可以使用

WITH Balls(N)
     AS (SELECT number
         FROM  master..spt_values
         WHERE type='P'
         AND number BETWEEN 1 AND 41)
SELECT *
FROM   Balls B1
       JOIN Balls B2
         ON B2.N > B1.N
       JOIN Balls B3
         ON B3.N > B2.N
       JOIN Balls B4
         ON B4.N > B3.N
       JOIN Balls B5
         ON B5.N > B4.N
       JOIN Balls B6
         ON B6.N > B5.N 

enter image description here

关于SQL Server : generate possible combinations of numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30969798/

相关文章:

sql - 续集——我可以在连接中为子查询设置别名吗?

mySQL 触发器无法更新已被调用触发器的语句使用的表

javascript - JS如何验证手机号

java - 了解为 Join 表上的一对多和多对一生成的查询

sql - 如何在保持外键关系/参照完整性的同时在多个数据库的表之间移动数据?

c# - SqlAdapter Update() 只插入值。

mysql - SQL Server 与 MySQL,可控制性相同吗?

sql-server - 如何对字符串中的数据求和

java - Android十进制格式化,如何根据不同的指数值进行十进制格式化?

java - java中如何将数字四舍五入到6位有效数字?