使用sql语句分析双色球(85天)

这个题目看似有点无厘头,老写技术博客,也来干点“正事",用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 点到为止,可以看到尽管概率存在,但是从这些年的情况来看,有些事情和咱们想象的还是有些出入。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-05-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码神联盟

碎片化 | 第四阶段-50-hibernate之Criteria和NavtiveSQL查询操作-视频

如清晰度低,可转PC网页观看高清版本: http://v.qq.com/x/page/i0568gnxikp.html ---- ---- 版权声明:本视频、...

3326
来自专栏吾爱乐享

mysql数据库高级查询相对比较全的练习题

1461
来自专栏数据小魔方

MySQL入门学习笔记——七周数据分析师实战作业

本篇推送主要涉及SQL语言中较为复杂的子查询与函数嵌套。 虽然这个MySQL系列取名为MySQL基础入门,但是个人不打算做单个函数的用法总结,或者说简单罗列,...

4097
来自专栏影子

PostgreSQL=>递归查询

转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8232073.html

1053
来自专栏技术翻译

编写SQL查询的最佳方法

毫无疑问,编写代码更像是一门艺术,而不是一门科学。即使有经验,每个编码人员也无法编写既可读又可维护的优美代码。一般来说,当您学习编码艺术时,编码会随着经验而提高...

180
来自专栏码神联盟

碎片化 | 第四阶段-49-hibernate之HQL查询操作-视频

本套视频从Java基础到架构模式以及AI算法,整体视频以“碎片化”学习的模式,提供给大家 ,并配备实际项目为案例,让大家在坐车、吃饭、午休、蹲坑的时候,都可以学...

3426
来自专栏landv

金蝶K3 WISE BOM多级展开_物料齐套表

901
来自专栏Python数据科学

【SQL刷题系列】:leetcode178 Rank Scores

编写一个 SQL查询来对分数排名。如果两个分数相同,那么两个分数应该有同样的排名。但也请注意,如果平分,那么下一个名次应该是下一个连续的整数值。换句话说,名次之...

752
来自专栏java架构学习交流

面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程

       如果我们需要招个Java方面的高级程序员,一方面看年限(本科3年),具体到数据库方面的技能要求,包括如下三个方面:        第一,是否会...

1936
来自专栏Python数据科学

【SQL刷题系列】:leetcode183 Customers Who Never Order

假设一个网站包含两个表: Customers和Orders。写出一个SQL查询语句找出所有没有任何订单的顾客。

772

扫码关注云+社区