【发布时间】:2012-08-11 18:30:19
【问题描述】:
我正在尝试对乐透结果进行一些基本分析:)
我有一个看起来像这样的数据库:
id|no|day|dd|mmm|yyyy|n1|n2|n3|n4|n5|n6|bb|jackpot|wins|machine|set
--------------------------------------------------------------------
1 |22|mon|22|aug|1999|01|05|11|29|38|39|04|2003202| 1 | Topaz | 3
2 |23|tue|24|aug|1999|01|06|16|21|25|39|03|2003202| 2 | Pearl | 1
这只是一个例子。所以,n1 到 n6 是彩票中的标准球,bb 代表红利球。
我想编写一个 PHP/SQL 代码,它只显示一个尚未出现的随机数字序列。但是,如果出现了数字 01、04、05、11、29、38 和 39,我不希望代码打印出它们的数字,而只是以不同的顺序打印出来,因为理论上它们的数字集已经中奖号码。
我只是无法理解这个逻辑。如有任何帮助,我将不胜感激。
提前致谢
【问题讨论】:
-
“我想编写一个 PHP/SQL 代码来显示一系列尚未出现的数字。”...我不确定这是什么意思。您确实意识到在典型的乐透抽奖中有数百万种排列方式。您想输出数据库中没有的所有排列吗?
-
不,它只会生成一个随机序列,抱歉没有说明
-
所以您想生成一组七个数字并检查数据集中是否存在所述序列?第一个建议:确保您按升序存储值。这将大大简化您的问题。
-
获取您的号码集的所有排列(例如:
010512034523、011203230545等),首先进行查询以查看该列表中是否有条目(我有一个组合的数字字段),如果没有,则获取一个新列表,如果是,则迭代直到找到第一个没有匹配项。