使用sql語句分析雙色球
這個題目看似有點無厘頭,老寫技術部落格,也來乾點“正事",用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
點到為止,可以看到儘管機率存在,但是從這些年的情況來看,有些事情和我們們想象的還是有些出入。
個人覺得機率讓一切皆有可能,但是用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
點到為止,可以看到儘管機率存在,但是從這些年的情況來看,有些事情和我們們想象的還是有些出入。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1349323/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python -- 雙色球Python
- 隨機雙色球隨機
- sql語句的優化分析SQL優化
- 透過sql語句分析足彩SQL
- 通過sql語句分析足彩SQL
- 用EXPLAIN PLAN 分析SQL語句AISQL
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- sql 中的with 語句使用SQL
- oracle v$sqlare 分析SQL語句使用資源情況OracleSQL
- 實現機選雙色球
- sql語句執行緩慢分析SQL
- SQL語句優化技術分析SQL優化
- sql語句的優化案例分析SQL優化
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- SQL語句使用總結(一)SQL
- SQL查詢語句使用 (轉)SQL
- 使用mysqlsniffer捕獲SQL語句MySql
- 分析後sql語句很快返回結果SQL
- SQL語句最佳化技術分析SQL
- ORACLE SQL語句優化技術分析OracleSQL優化
- SQL語句SQL
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- 使用hint來調優sql語句SQL
- Fastapi sqlalchemy DBApi 直接使用sql語句ASTAPISQL
- Oracle SQL語句最佳化技術分析OracleSQL
- ORACLE SQL語句優化技術分析(zt)OracleSQL優化
- ORACLE SQL語句優化技術分析(轉)OracleSQL優化
- 用JavaScript中lodash編寫雙色球JavaScript
- 【SQL】Oracle SQL join on語句and和where使用區別SQLOracle
- MySQL在預設事務下各SQL語句使用的鎖分析MySql
- sql語句大全SQL
- 共享SQL語句SQL
- SQL語句整理SQL
- SQL基本語句SQL
- 精妙Sql語句SQL
- SQL語句集合SQL
- oracle sql語句OracleSQL
- sql語句 求救!SQL