打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用sql语句分析双色球
userphoto

2016.07.09

关注
这个题目看似有点无厘头,老写技术博客,也来干点“正事',用sql语句分析一下近十年来的双色球情况,不过我肯定算不出来开奖结果,纯属个人娱乐,
个人觉得概率让一切皆有可能,但是用sql语句测试,有些结果还是和大家的想象有很大的出入。
首先通过博彩网站找到数据来源,可以下载成excel文档之类的,对格式做一个简单的排版。
然后对这些结果拼凑sql语句,类似如下的方式。

insert into test_data values(2014051              ,          10,16,19,21,23,24,13                    );
insert into test_data values(2014050              ,          03,17,23,25,26,32,13                    );
insert into test_data values(2014049              ,          06,07,16,17,23,32,06                    );
在数据库中建立一个表test_data,语句如下:
create table test_data(red1 number(2),red2 number(2),red3 number(2),red4 number(2),red5 number(2),red6 number(2),blue number(2));
然后就可以跑这个脚本了,把数据插入进去。
SQL> select count(*)from test_data;
  COUNT(*)
----------
      1651
这些年来,从2003年起到目前为止一共有1600多期。
来看看下面的结果吧
1.开奖结果(红球 蓝球)有重复,隐隐觉得应该还是会有重复的结果。
SQL> select count(*),red1,red2,red3,red4,red5,red6,blue from test_data group by red1,red2,red3,red4,red5,red6,blue having count(*)>1;
no rows selected

2.可能有些苛刻,那么红球相等的几率有多大呢。
SQL> select count(*),red1,red2,red3,red4,red5,red6 from test_data group by red1,red2,red3,red4,red5,red6 having count(*)>1;
no rows selected

3. 6个红球,连续的情况有吗?
SQL> select *from test_data where red1 red2 red3 red4 red5 red6=(red1 red6)*red5/2
  2  /
no rows selected
4. 6个连续的没有,5个的有吗?
SQL> select *from test_data where red2 red3 red4 red5 red6=(red2 red6)*red5/2
  2  /
no rows selected
SQL> select *from test_data where  red1 red2 red3 red4 red5=(red1 red5)*red4/2 
  2  /
no rows selected

5. 连续4个的呢。看来还是有的,不过是很小的概率了。
red1 red2 red3 red4=(red1 red4)*red3/2
or
red2 red3 red4 red5=(red2 red5)*red4/2
or
red3 red4 red5 red6=(red3 red6)*red5/2


SEQ_NO                RED1       RED2       RED3       RED4       RED5       RED6       BLUE
--------------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
2011087                  2          3          4          5         18         28          1
2011037                  1          3          4          6         17         25         11
2007059                  1          3          4          6          7         29         14
2006151                  1          3          4          6         16         22          8
2005027                  1          3          4          6         21         32         15
2003087                  2          3          4          5         24         28         13

6. 6个数字都在10以内的情况怎么样呢。
SQL> select *from test_data where red6<=10;
no rows selected

点到为止,可以看到尽管概率存在,但是从这些年的情况来看,有些事情和咱们想象的还是有些出入。





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle学习笔记--grouping/grouping_id
Oracle统计函数使用之ROLLUP,CUBE,GROUPING,GROUPING SE...
zhouweifeng | oracle分析函数执行顺序
统计信息的导入导出
oracle10g使用sql获得ADDM报告以及利用ADDM监控表的dml情况
ORACLE里面怎么实现随机循环
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服