Для начала у меня есть база данных, основанная на спортивных ставках.У меня есть одна таблица с именем «MATCHES» (id_match / sport_id / League_id / team / quota / result).
Представьте, что в таблице есть следующие значения:
id_match | sport_id | League_id | team | quota | result
---------------------------------------------------------
1 | x | xx | xx | 1.4 | W
---------------------------------------------------------
2 | x | xx | xx | 2.4 | W
---------------------------------------------------------
3 | x | xx | xx | 2.2 | L
---------------------------------------------------------
4 | x | xx | xx | 2.35 | W
---------------------------------------------------------
Я хочу извлечь процент успеха квот, сгруппированных по определенному диапазону, поэтому я использую следующий запрос:
SELECT AVG(IF(bet_matches.quota BETWEEN 1.01 and 1.24 and bet_matches.result='W', 100, 0)) as '1 - 1.25' ,
AVG(IF(bet_matches.quota BETWEEN 1.25 and 1.49 and bet_matches.result='W', 100, 0)) as '1.25 - 1.50' ,
AVG(IF(bet_matches.quota BETWEEN 1.50 and 1.74 and bet_matches.result='W', 100, 0)) as '1.50 - 1.75' ,
AVG(IF(bet_matches.quota BETWEEN 1.75 and 1.99 and bet_matches.result='W', 100, 0)) as '1.75 - 2' ,
AVG(IF(bet_matches.quota BETWEEN 2 and 2.49 and bet_matches.result='W', 100, 0)) as '2 - 2.50' ,
AVG(IF(bet_matches.quota BETWEEN 2.5 and 2.99 and bet_matches.result='W', 100, 0)) as '2.50 - 3' ,
AVG(IF(bet_matches.quota BETWEEN 3 and 4 and bet_matches.result='W', 100, 0)) as '3 - 4' ,
AVG(IF(bet_matches.quota >3.99 and bet_matches.result='W', 100, 0)) as '4 - x'
FROM bet_matches
Проблема возникает, когда процентная доля квот не отражена должным образомв результатах.Winrate каждого диапазона не отображается правильно.Вот результаты, которые я генерирую:
1 - 1.5 | 2 - 2.5 |
-------------------
25% | 50%
И вот результаты, которые я хочу получить:
1 - 1.5 | 2 - 2.5 |
-------------------
100% | 66%
Есть идеи, как получить эти результаты?Заранее спасибо.