在 SQL 中,如何生成 5!56 的每种可能的唯一组合?

2024-01-29

我有一个表“元素”,其中有一列“数字”,类型为 SMALLINT,其中包含数字 1 到 56。如何使用 SQL 语句生成从 1 到 56 的每种可能组合的 5 个数字的唯一集合?

在 APL(编程语言)中,一个简单的二元函数 5!56 就可以解决问题!

编辑:在良好的 ole MS-DOS QBASIC 中,我是这样完成的:

10  OPEN "C:\5NUMBERS.OUT" FOR OUTPUT ACCESS READ WRITE AS #1
12  LET SER = 0

15  LET E = 56
30      FOR B5 = 5 TO E
40          FOR B4 = 4 TO E
50              FOR B3 = 3 TO E
60                  FOR B2 = 2 TO E
70                      FOR B1 = 1 TO E
80

88  IF B5 = B1 THEN 190
89  IF B5 = B2 THEN 190
90  IF B5 = B3 THEN 190
91  IF B5 = B4 THEN 190

92  IF B4 = B1 THEN 180
93  IF B4 = B2 THEN 180
94  IF B4 = B3 THEN 180

95  IF B3 = B1 THEN 170
96  IF B3 = B2 THEN 170

97  IF B2 = B1 THEN 160

98 LET SER = SER + 1

100 PRINT #1, SER; "|";
130 PRINT #1, B1; "|";
131 PRINT #1, B2; "|";
132 PRINT #1, B3; "|";
133 PRINT #1, B4; "|";
134 PRINT #1, B5; "|";
140 PRINT #1, B1 + B2 + B3 + B4 + B5; "|"

150                     NEXT B1
160                 NEXT B2
170             NEXT B3
180         NEXT B4
190     NEXT B5
205 CLOSE
210 END
220 SYSTEM 

顺便说一句,这将我的加载文件创建到 INFORMIX-SQL 表中

TABLE combos
(
seq_id SERIAL,
ball_1 SMALLINT,
ball_2 SMALLINT,
ball_3 SMALLINT,
ball_4 SMALLINT,
ball_5 SMALLINT,
sum    SMALLINT
);

我使用combos.sum 生成钟形曲线图,显示每个元素具有相同总和的组合的计数。


如果“独特的集合”你的意思是我认为你所做的(抱歉,我不知道APL!),你可以写:

SELECT e1.number,   e2.number,   e3.number,   e4.number,   e.number
  FROM elements e1, elements e2, elements e3, elements e4, elements e5
 WHERE e1.number < e2.number
   AND e2.number < e3.number
   AND e3.number < e4.number
   AND e4.number < e5.number
;

“这是否可以在不需要实际存储的情况下完成? 表中的元素?...即让服务器执行此操作而不求助于 表 I/O? ”

是的,Oracle 有一个技巧可以使用分层查询和 CTE 语法动态生成数据:

WITH elements AS
( select rownum as number
  from dual
  connect by level <= 56 )
SELECT e1.number,   e2.number,   e3.number,   e4.number,   e.number
  FROM elements e1, elements e2, elements e3, elements e4, elements e5
 WHERE e1.number < e2.number
   AND e2.number < e3.number
   AND e3.number < e4.number
   AND e4.number < e5.number
;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SQL 中,如何生成 5!56 的每种可能的唯一组合? 的相关文章

随机推荐

  • 根据两个数据框的最小值创建一个数据框 pandas python

    我有两个不同大小的数据框 仅当第二个数据帧的值小于第一个数据帧的值时 我才想用第二个数据帧的值替换第一个数据帧的值 换句话说 我想找到每个位置的两个数据帧的最小值 以匹配两个数据帧的索引 df1 A B C 0 0 12 7 1 15 20
  • 在我自己的 vba 函数中获得没有 gosub 的返回

    我已经与 vba 斗争了一段时间 令人惊讶的是它并没有变得更好 我编写了以下代码 以便我可以为对象使用特殊的比较运算符 Public Function myEquals v As CCtypestore As Boolean If v Is
  • CSS 垂直对齐:中间在 IE7 中不起作用

    我这里有这段代码 div class pics2 div style display block width 225px height 200px this div is generated via jQuery Plugin div st
  • 从 .json URL 获取数据并使用 Javascript/JQuery 将其显示在 HTML 中

    我正在尝试从以下位置获取 json 数据 http api dailymile com entries json http api dailymile com entries json然后我希望在表格中显示这些数据 当 json 链接指向我
  • 使用 PHP 检查值是否存在于逗号分隔的字符串中[重复]

    这个问题在这里已经有答案了 我需要检查我的 id 是否存在于逗号分隔的字符串中 我的字符串保存为 1 2 3 4 10 在数据库中 我努力了 HiddenProducts array sqlvalue if in array 2 Hidde
  • 在 Fancybox 内输入

    我在使用 Fancybox 时遇到了一个非常奇怪的问题 我似乎无法获取 Fancybox 中显示的输入的 val 它们的值为 然而 Fancybox 外部的输入是有效的 My code
  • 在Python数据类中创建唯一的ID

    我的 python 数据类需要一个唯一的 无符号整数 id 这是非常相似 to 这个帖子 https stackoverflow com questions 58101476 how to create a unique and incre
  • 如何在运行时从下载的 jar 文件加载未知类?

    我正在构建一个客户端服务器应用程序 在运行时 客户端应用程序从服务器应用程序加载 jar 文件并存储它 我将客户端和服务器应用程序都作为 jar 文件运行 我现在想要加载这个下载的 jar 文件中包含的类 例如 我有一个接口 A 和一个实现
  • 如何在python 2.7.6中导入_ssl?

    我的http服务器基于带有Python 2 7 6的BaseHTTPServer 现在我希望它支持ssl传输 即所谓的https 我已经安装了 pyOpenSSL 并重新编译了带有 ssl 支持的 python 源代码 当我尝试时它确实有效
  • 在 DynamoDB 中,如何使用 Java 将元素附加到列表字段

    我在 DynamoDB 中有一条记录 其中包含一个名为 imageData 的字段 该字段是一个项目列表 每个项目都是一个字典 包含键值对的映射 如何将新项目追加到以下记录中的列表中 ssid abcd imageData I tried
  • 结构体数组成员的默认值[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 类中初始化数组和可修改左值问题 https stackoverflow com questions 6647038 intitialzing an array in a c class and
  • 如何合并来自不同输入值的数组?

    有许多具有相同名称和相同类别但具有不同值的文本字段 每个输入都有 1 个按钮 我通过单击每个特定按钮来获取每个字段的值 与 JavaScript 一起使用 我可以将该值放入数组中 但数组不会合并 如果我单击第一个按钮 特定输入字段值将放入数
  • 在 SQL 事件探查器中显示行计数

    是否可以在 SQL Server Profiler 中显示 行计数 列 例如 有 CPU 和 Duration 列 但它可以显示查询返回多少行吗 使用 RowCounts 列怎么样
  • Python 相当于 ruby​​ 的 StringScanner?

    是否有与 ruby 等效的 python 类StringScanner 类 http ruby doc org core classes StringScanner html 我可以将一些东西组合在一起 但如果这已经存在 我不想重新发明轮子
  • Iron 路由器身份验证控制器

    我想知道是否有人可以演示如何在路由器控制器类上使用全局 之前 操作来处理用户身份验证并根据结果显示适当的路由 模板 我的用例是让 AppController 充当身份验证防火墙 并在用户注销时阻止任何子控制器操作 例如 Create a p
  • PIG 中的 GROUP 和 COGROUP 有什么区别?

    我知道 Group 不能处理多个元组 因此我们在 PIG 中有 COGROUP 然而 今天检查时 GROUP 命令对我有用 我正在使用 PIG 0 12 0 我的命令和输出如下 grunt gt grpvar GROUP C by 2 B
  • 找不到有角度的日期管道

    我想在 HTML 中使用 DatePipe timeslot date 但我得到了错误 error NG8004 No pipe found with name date 我的 app module ts 导入公共模块 import Com
  • 无法添加配置转换

    I have 创建了构建配置 http www tomot de en us article 5 asp net how to use web config transforms to replace appsettings and con
  • Scala 中更好的字符串格式

    由于有太多的争论 String format很容易变得太混乱 有没有更强大的方法来格式化字符串 就像这样 This is number string format number gt 1 或者由于类型问题这是不可能的 format我认为需要
  • 在 SQL 中,如何生成 5!56 的每种可能的唯一组合?

    我有一个表 元素 其中有一列 数字 类型为 SMALLINT 其中包含数字 1 到 56 如何使用 SQL 语句生成从 1 到 56 的每种可能组合的 5 个数字的唯一集合 在 APL 编程语言 中 一个简单的二元函数 5 56 就可以解决