通過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/23718752/viewspace-1246019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL_通過binlog檢視原始SQL語句MySql
- [20191101]通過zsh計算sql語句的sql_id.txtSQL
- [20191011]通過bash計算sql語句的sql_id.txtSQL
- [20201105]再分析sql語句.txtSQL
- mysql執行sql語句過程MySql
- sql語句執行緩慢分析SQL
- Mybatis原始碼分析(五)探究SQL語句的執行過程MyBatis原始碼SQL
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- SQL語句SQL
- 如何通過注入SQL語句盜取網站管理許可權AHSQL網站
- 一條sql語句的執行過程SQL
- [20181119]sql語句執行緩慢分析.txtSQL
- [20211221]分析sql語句遇到的問題.txtSQL
- [20210923]sql語句佔用Sharable Memory分析.txtSQL
- 【SQL】9 SQL INSERT INTO 語句SQL
- 【SQL】10 SQL UPDATE 語句SQL
- 【SQL】11 SQL DELETE 語句SQLdelete
- SQL SELECT 語句SQL
- sql常用語句SQL
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- GaussDB SQL查詢語句執行過程解析SQL
- EF中使用SQL語句或儲存過程SQL儲存過程
- 1.3. SQL 語句SQL
- Oracle基本SQL語句OracleSQL
- Sql語句小整理SQL
- SQL語句優化SQL優化
- SQL語句IN的用法SQL
- SQL 語句學習SQL
- PostgreSQL的insert語句執行過程分析SQL
- oracle v$sqlare 分析SQL語句使用資源情況OracleSQL
- [20200326]dbms_monitor跟蹤與SQL語句分析.txtSQL
- Oracle SQL精妙SQL語句講解OracleSQL
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- SQL語言基礎(SELECT語句)SQL
- MYSQL SQL語句優化MySql優化
- springboot 中列印 sql 語句Spring BootSQL
- 【資料庫】SQL語句資料庫SQL
- sql查詢語句流程SQL
- SQL mother查詢語句SQL