透過sql語句分析足彩
老是做工作中的資料分析,最近也在看足球彩票,競猜遊戲有輸有贏,但是裡面還是有不少的資料分析的樂趣,關於足球彩票的分析,自己寫了如下的程式,可以參考。當然了,最好能帶有主觀的分析,這樣可能準確率要高一些。
以下是僅根據賠率做的一個分析。
比如我們目前計劃投資100塊買單場競猜,勝平負的賠率就有很大的差別,可以考慮有賠率大的部分來彌補賠率小的部分,這樣能夠基本達到中和(但是話說過來,競猜公司的計算更是精準,透過自己其他的公式和計算,資料的範圍都牢牢控制在它們的制定範圍內)。
可以直接執行一下的指令碼,假設資料庫使用者是n1
win_point=$1
tie_point=$2
lose_point=$3
max_cnt=100
echo $win_point , $tie_point , $lose_point
sqlplus -s n1/n1 <
set feedback off
set serveroutput on
declare
x number;
ceil_win_amt number;
ceil_tie_amt number;
ceil_lose_amt number;
ceil_tot_amt number;
round_win_amt number;
round_tie_amt number;
round_lose_amt number;
round_tot_amt number;
begin
for x in 2..$max_cnt loop
if (x<=((2*$win_point*$win_point*$tie_point*$tie_point*$lose_point*$lose_point)/($win_point*$tie_point+$win_point*$lose_point +$tie_point*$lose_point-$win_point
*$tie_point*$lose_point )))
then
round_win_amt:=round(x/$win_point/2);
round_tie_amt:=round(x/$tie_point/2);
round_lose_amt:=round(x/$lose_point/2);
round_tot_amt:=round(2*(round_win_amt+round_tie_amt+round_lose_amt)-2*(round_win_amt*$win_point+round_tie_amt*$tie_point+round_lose_amt*$lose_point)/3,2);
ceil_win_amt:=ceil(x/$win_point/2);
ceil_tie_amt:=ceil(x/$tie_point/2);
ceil_lose_amt:=ceil(x/$lose_point/2);
ceil_tot_amt:=round(2*(ceil_win_amt+ceil_tie_amt+ceil_lose_amt)-2*(ceil_win_amt*$win_point+ceil_tie_amt*$tie_point+ceil_lose_amt*$lose_point)/3,2);
dbms_output.put_line('win:'||ceil_win_amt||' tie:'||ceil_tie_amt||' lose:'||ceil_lose_amt||'------>will get:'||ceil_tot_amt||' '||2*(ceil_win_amt+ceil_tie_amt
+ceil_lose_amt)||'---- '||(ceil_win_amt*$win_point+ceil_tie_amt*$tie_point+ceil_lose_amt*$lose_point));
-- dbms_output.put_line('win:'||round_win_amt||' tie:'||round_tie_amt||' lose:'||round_lose_amt||'------>will get:'||_tot_amt);
insert into win_list values(x,ceil_win_amt,ceil_tie_amt,ceil_lose_amt,ceil_tot_amt,round_win_amt,round_tie_amt,round_lose_amt,round_tot_amt);
end if;
end loop;
commit;
end;
/
set pages 53
set linesize 200
select * from(select * from win_list where mod(amt,2)=0 order by ceil_bonus,round_bonus desc) where rownum<500;
prompt .
select *from win_list where mod(amt,2)=0 and ceil_win>ceil_tie and ceil_win > ceil_lose and amt between 2 and 20;
EOF
執行指令碼 假設我們制定賠率 1.22 3.22 5.12
ksh win.sh 1.22 3.22 5.12
執行指令碼後,結果如下所示,AMT代表自己的投入,不過根據賠率,有一些不太一致,可能投入的要更多一些。
AMT CEIL_WIN CEIL_TIE CEIL_LOSE CEIL_BONUS ROUND_WIN ROUND_TIE ROUND_LOSE ROUND_BONUS
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- -----------
2 1 1 1 -.37 1 0 0 1.19
4 2 1 1 .81 2 1 0 2.23
6 3 1 1 2 2 1 1 .81
12 5 2 2 2.81 5 2 1 4.23
8 4 2 1 3.04 3 1 1 2
14 6 3 2 3.85 6 2 1 5.41
10 5 2 1 4.23 4 2 1 3.04
16 7 3 2 5.04 7 2 2 5.19
18 8 3 2 6.23 7 3 2 5.04
24 10 4 3 7.04 10 4 2 8.45
22 10 4 3 7.04 9 3 2 7.41
20 9 4 2 7.27 8 3 2 6.23
26 11 5 3 8.08 11 4 3 8.23
28 12 5 3 9.27 11 4 3 8.23
最後說明這個僅供參考。分析還有不足和錯誤的地方,諒解諒解。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1347069/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 透過sql語句分析足彩(第三篇)SQL
- 通過sql語句分析足彩SQL
- 通過sql語句分析足彩(第三篇)SQL
- 透過shell指令碼分析足彩指令碼
- 透過分析SQL語句的執行計劃最佳化SQL(總結)SQL
- 透過java來格式化sql語句JavaSQL
- 透過使用hint unnest調優sql語句SQL
- [轉]透過分析SQL語句的執行計劃最佳化SQL(總結)SQL
- 透過ORA錯誤反思sql語句規範SQL
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- 透過java程式抽取日誌中的sql語句JavaSQL
- 透過sql語句建立表時指定表空間的語法SQL
- 我透過諮詢才知道的sql語句寫法SQL
- 通過shell指令碼分析足彩指令碼
- 如何透過一條資料庫語句做資料分析資料庫
- 通過分析SQL語句的執行計劃優化SQL 二SQL優化
- sql語句的優化分析SQL優化
- 使用sql語句分析雙色球SQL
- 用EXPLAIN PLAN 分析SQL語句AISQL
- [20170703]SQL語句分析執行過程.txtSQL
- 透過ORADEBUG運用10046事件跟蹤SQL語句事件SQL
- 通過分析SQL語句的執行計劃優化SQL(總結)SQL優化
- 【nacos】透過curl語句更新配置檔案
- mysql執行sql語句過程MySql
- SQL語句的處理過程SQL
- sql語句執行緩慢分析SQL
- SQL語句優化技術分析SQL優化
- sql語句的優化案例分析SQL優化
- Mybatis原始碼分析(五)探究SQL語句的執行過程MyBatis原始碼SQL
- oracle 通過sql profile為sql語句加hintOracleSQL
- 通過SQL PROFILE自動優化SQL語句SQL優化
- SQL語句執行過程詳解SQL
- CoreData執行過程的sql語句SQL
- sql語句執行過程小結SQL
- SQL語句的處理過程修正SQL
- 剖析SQL語句的執行過程SQL
- Oracle SQL 語句的執行過程OracleSQL
- 分析後sql語句很快返回結果SQL